using System;
using System.Collections.Generic;
using System.Text.Json;
var lines = new[]
{
"1:a",
"1:b",
"2:c",
"3:d",
"3:x",
"biba:boba:buba",
};
var result = ParseContacts(lines);
Console.WriteLine(JsonSerializer.Serialize(result, new JsonSerializerOptions(JsonSerializerDefaults.General)
{
WriteIndented = true
}));
static Dictionary<string, List<string>> ParseContacts(IEnumerable<string> lines)
{
var dict = new Dictionary<string, List<string>>();
foreach (var line in lines)
{
var tokens = line.Split(':', 2);
var id = tokens[0];
var text = tokens[1];
if (dict.ContainsKey(id))
dict[id].Add(text);
else
dict[id] = new List<string> {text};
}
return dict;
}
{
"1": [
"a",
"b"
],
"2": [
"c"
],
"3": [
"d",
"x"
],
"biba": [
"boba:buba"
]
}
Консольное приложение, которое будет собирать информацию с компьютера.
Оно должно отправлять данные веб-сервису через websoket.
Нужно собирать: Имя компьютера, Часовой пояс, Название ОС, версию дотнета
Веб-сервис должен отслеживать, когда устройства включаются/выключаются.
Веб-сервис должен собирать информацию с устройств каждые 5 минут и отправлять её в Azure Function
Azure Function для обработки информации с веб-сервиса. Он должен обновлять информацию только по необходимости (если произошло изменение с последнего состояния).
Нужно использовать MS SQL в качестве бд и linq2db в качестве ORM
WinForms, вроде бы, все уже забыли
Unsafe.Read<float>(ptr)
Неужели дело только в лицензии, которую себе не могут позволить корпорации?
И главный вопрос, рационально ли выбирать c# как язык для свитча и претензии на позицию Джуниора без опыта?
Объективно - вакансий больше на джаве, но при этом лестных отзывов о шарпе я читал на том же тостере субъективно больше...
NI.BalloonTipIcon = ToolTipIcon.Info;
using System;
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Text.Json.Serialization;
using var httpClient = new HttpClient();
// Как-то получаем upload_url
var r = @"{
""response"": {
""upload_url"": ""/something""
}
";
var response = JsonSerializer.Deserialize<Response>(r);
var uploadUrl = response!.ResponseData.UploadUrl;
using var fileStream = File.OpenRead("./file.mp4");
using var request = new HttpRequestMessage
{
RequestUri = new Uri(uploadUrl),
Method = HttpMethod.Post,
Content = new MultipartFormDataContent
{
{
new StreamContent(fileStream), "file", "file.mp4"
}
}
};
httpClient.Send(request);
class Response
{
[JsonPropertyName("response")] public ResponseData ResponseData { get; set; }
}
class ResponseData
{
[JsonPropertyName("upload_url")] public string UploadUrl { get; set; }
}
var uri= "https://snaptik.app/dl.php?........................";
var httpClient = new HttpClient();
var response = await httpClient.GetAsync(url);
var stream = await response.Content.ReadAsStreamAsync();
// Дальше стрим куда-нибудь деваем. Можно в принципе и как массив байтов прочитать.