dotnet new winforms
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
</Project>
public event EventCallback<IContentState> StateChanged;
using System;
using System.Linq;
using System.Text;
var originalString = "Lorem ipsum dolor sit amet. Мама мыла раму";
Console.WriteLine($"Original string: {originalString}");
var utf8Bytes = Encoding.UTF8.GetBytes(originalString);
var hexadecimalUtf8Bytes = ConvertBytesToHexString(utf8Bytes);
Console.WriteLine($"Hexadecimal bytes: {hexadecimalUtf8Bytes}");
var convertedBytes = ConvertHexStringToBytes(hexadecimalUtf8Bytes);
var convertedString = Encoding.UTF8.GetString(convertedBytes);
Console.WriteLine($"Decoded: {convertedString}");
static string ConvertBytesToHexString(byte[] bytes) =>
BitConverter.ToString(bytes).Replace("-", "");
static byte[] ConvertHexStringToBytes(string hex) =>
Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
Original string: Lorem ipsum dolor sit amet. Мама мыла раму
Hexadecimal bytes: 4C6F72656D20697073756D20646F6C6F722073697420616D65742E20D09CD0B0D0BCD0B020D0BCD18BD0BBD0B020D180D0B0D0BCD183
Decoded: Lorem ipsum dolor sit amet. Мама мыла раму
Имею вот такую JSON строку:
[
{"id":"3","companies_name":"{EQ\r\n"},
{"id":"6","companies_name":"testName Company"},
{"id":"7","companies_name":"testName Company324324"},
{"id":"8","companies_name":"testName Company"},
{"id":"9","companies_name":"testName Companydfgdfgf"},
{"id":"10","companies_name":"testName Company"},
{"id":"13","companies_name":"testName Company"}
]
JsonConvert.Deserialize<Companies[]>(str)
class Company {
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("companies_name")]
public string Name { get; set; }
}
using System;
var intArray = CreateArrayFromIntRange(3, 8);
var charArray = CreateArrayFromCharRange('B', 'F');
Console.WriteLine(string.Join(' ', intArray));
Console.WriteLine(string.Join(' ', charArray));
static int[] CreateArrayFromIntRange(int start, int end)
{
if(start > end)
throw new ArgumentException("start must be less or equal to end");
var length = end - start + 1;
var buffer = new int[length];
var current = start;
for (var i = 0; i < buffer.Length; i++)
buffer[i] = current++;
return buffer;
}
static char[] CreateArrayFromCharRange(char start, char end)
{
if(start > end)
throw new ArgumentException("start must be less or equal to end");
var length = end - start + 1;
var buffer = new char[length];
var current = start;
for (var i = 0; i < buffer.Length; i++)
buffer[i] = current++;
return buffer;
}
nums[k]=nums[k-1]++
Будет работать не так, как вы ожидаете - Индексация массивов происходит по ссылке, а не по значению. Например с List такого не будет, тк там индексатор - это метод, которы возвращает значение по индексу, а не ссылку на элемент.CreateHostBuilder()
- это метод, который объявлен ниже, он возвращает IHostBuilder
IHost
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var json = new
{
id = "11111111111111",
sum = new {amount = 100, currency = "643"},
paymentMethod = new {type = "Account", accountId = "643"},
comment = "test",
fields = new {account = "+79121112233"}
};
var token = "YUu2qw048gtdsvlk3iu";
using var httpClient = new HttpClient();
using var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://edge.qiwi.com/sinap/api/v2/terms/99/payments"),
Headers =
{
Accept = {MediaTypeWithQualityHeaderValue.Parse("application/json")},
Authorization = AuthenticationHeaderValue.Parse("Bearer " + token)
},
Content = new StringContent(JsonSerializer.Serialize(json))
{
Headers = {ContentType = MediaTypeHeaderValue.Parse("application/json")}
}
};
var response = await httpClient.SendAsync(request);
var responseText = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseText);