// (1) (2) (3) (4) (5) (6) (7) (8) (9)
// 1 2 | 5 6 | 9 10 | 13 14 | 17 18 | 21 22 | 25 26 | 29 30 | 33 34 |
// 3 4 | 7 8 | 11 12 | 15 16 | 19 20 | 23 24 | 27 28 | 31 32 | 35 36 |
// 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37
public int GetRoomByPlace(int place) =>
place < 37
? (place - 1) / 4 + 1
: 9 - (place - 37) / 2;
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError=true)]
static extern uint GetShortPathName(
[MarshalAs(UnmanagedType.LPTStr)]
string lpszLongPath,
[MarshalAs(UnmanagedType.LPTStr)]
StringBuilder lpszShortPath,
uint cchBuffer);
var user = new User();
var mock = new Mock<IUserService>();
mock.Setup(service=>service.Add(user));
var controller = new UsersController(mock.Object);
var result = (OkObjectResult) await controller.Add(user); // await не забываем
Assert.Equals(user, result.Value); // Ассерт, что контроллер вернул что ожидали
mock.Verify(x=>x.Add(user)); //Ассерт, что был вызван метод мока
в с# нет map, а есть словари. но если я делаю attribureValues словарем (ключ-значение), то выходит ошибка:
невозможно преобразовать тип dictionary в тип mapEntryStringString.
var path = "...";
var lines = await File.ReadAllLinesAsync(path);
var allCredentials = lines.Select(Credentials.Parse).ToList();
public record Credentials(string Username, string Password) {
public static Credentials Parse(string line) {
var parts = line.Split(':');
return new(parts[0], parts[1]);
}
}
Но мне нужно, что бы путь ссылался на уже скомпилированную директорию
var a = "TOM";
var parts = a.Split(new [] { "O" }, 2, StringSplitOptions.None);
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup>
<!-- Вот это самое главное -->
<PublishSingleFile>true</PublishSingleFile>
<!-- Это чтобы тащить за собой рантайм До .NET 6 будут рядом лежать нативные библиотеки jit-а и сборщика мусора-->
<SelfContained>true</SelfContained>
<!-- Это необходимо, чтобы сборщик понимал, для какой ОС нужен экзешник -->
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<!-- Это чтобы ускорить запуск -->
<PublishReadyToRun>true</PublishReadyToRun>
<!-- Эти две строки, чтобы уменьшить размер бинарника -->
<PublishTrimmed>true</PublishTrimmed>
<TrimMode>link</TrimMode>
</PropertyGroup>
</Project>
Ну в общем , в пайтоне есть такие списки когда ты делаешь название элемента списка (например "имя") и напротив него через : что то для этого элемента (например "Егор")
using System.Collections.Generic;
//...
var skinPrices = new Dictionary<string, int> {
["Очень редкий скин"] = 100500
["Очень не редкий скин"] = 1
};
#r "nuget:Newtonsoft.Json/13.0.1"
using Newtonsoft.Json;
var json = @"
{
""success"": 1,
""result"": {
""total"": 3,
""limit"": 0,
""offset"": null,
""stocks"": [
{
""номенклатураGUID"": ""GUID"",
""складGUID"": ""GUID"",
""назначениеGUID"": ""GUID"",
""остаток"": 1,
""rn"": 1
},
{
""номенклатураGUID"": ""GUID"",
""складGUID"": ""GUID"",
""назначениеGUID"": ""GUID"",
""остаток"": 65,
""rn"": 2
},
{
""номенклатураGUID"": ""GUID"",
""складGUID"": ""GUID"",
""назначениеGUID"": ""GUID"",
""остаток"": 13,
""rn"": 3
}
]
}
}
";
// Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
public class Stock
{
[JsonProperty("номенклатураGUID")]
public string НоменклатураGUID { get; set; }
[JsonProperty("складGUID")]
public string СкладGUID { get; set; }
[JsonProperty("назначениеGUID")]
public string НазначениеGUID { get; set; }
[JsonProperty("остаток")]
public int Остаток { get; set; }
[JsonProperty("rn")]
public int Rn { get; set; }
}
public class Result
{
[JsonProperty("total")]
public int Total { get; set; }
[JsonProperty("limit")]
public int Limit { get; set; }
[JsonProperty("offset")]
public object Offset { get; set; }
[JsonProperty("stocks")]
public List<Stock> Stocks { get; set; } //Вот тут у вас просто Stock
}
public class Root
{
[JsonProperty("success")]
public int Success { get; set; }
[JsonProperty("result")]
public Result Result { get; set; }
}
var result = JsonConvert.DeserializeObject<Root>(json);
без доп. библиотек и массива битмапов