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);
foreach(var cookieLine insetCookieHeaders)
{
// Допустим, что нам нужна только первая часть куки, без всяких HttpOnly и Expires
var cookie = cookieLine.Split(';')[0];
cookieBox.Add(cookie); // Хз, что за cookieBox. Предполагаю, что это List<string>
Console.WriteLine(cookie);
}
var setCookieHeaders = headers.Contains("Set-Cookie")
? headers.GetValues("Set-Cookie")
: Array.Empty<string>();
private int age;
public int Age {
get => this.age;
set => {
if(value < this.age) // На самом деле очень странная проверка. Если будет создано с конструктором по-умолчанию, то всегда будет падать
throw new ArgumentException(nameof(value)); // Кидаем Exception вместо Console.WriteLine, тк писать Console.WriteLine в свойствах - плохой тон.
this.age = value;
}
}
int a=1;
int b; //не инициализировано
switch(a){
case 1:
b=100;
Console.WriteLine ("изнутри "+b);
break;
}//если a != 1, то b всё ещё не инициализировано
Console.WriteLine ("снаружи "+b); //<-тут ошибка
int a=1;
int b;
switch(a){
case 1:
b=100;
Console.WriteLine ("изнутри "+b);
break;
default:
b = -1;
break;
}
Console.WriteLine ("снаружи "+b);
var a = 1;
var b = a switch {
1 => 100,
_ => -1 // Если не добавить эту ветку, то будет ошибка, что switch-expression покрывает не все возможные варианты
};
//b гарантированно инициализировано
a[Random().Next(0, a.Length)]