我从一个看起来像这样的API获得JSON:
{
"Items": {
"Item322A": [{
"prop1": "string",
"prop2": "string",
"prop3": 1,
"prop4": false
},{
"prop1": "string",
"prop2": "string",
"prop3": 0,
"prop4": false
}],
"Item2B": [{
"prop1": "string",
"prop2": "string",
"prop3": 14,
"prop4": true
}]
},
"Errors": ["String"]
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一些方法来在c#对象中表示这个JSON(这里列出的太多了).我已尝试过列表和词典,这是我最近尝试如何表示它的一个例子:
private class Response
{
public Item Items { get; set; }
public string[] Errors { get; set; }
}
private class Item
{
public List<SubItem> SubItems { get; set; }
}
private class SubItem
{
public List<Info> Infos { get; …Run Code Online (Sandbox Code Playgroud) 我试图解决以下问题:
一些海盗胸前充满了宝藏(金币)
现在已经很晚了,所以他们决定早上把它分开
但是,其中一名海盗在半夜醒来时担心其他海盗会偷走他的份额,所以他决定自己分割宝藏.
他把它分成相等的份额(每个海盗一个).剩下一枚硬币,他扔到了船外.他拿走了他的份额,将其他股票放回胸前,然后回到他的小屋.
另一个海盗醒来并做同样的事情.是的,还有一个额外的硬币.是的,他将那枚硬币扔到了船上.
......每个海盗在夜间做一次(是的,有一个额外的硬币,他们每次都扔掉它),第二天早上他们醒来并将宝藏分成相等的份额.还剩下一个他们扔到船外.他们每个人都从事自己的分享,过着幸福的生活.
鉴于海盗的数量,最初可能在宝箱中的最小硬币数量是多少?
我尝试了下面这个,但任何大于8的数字都会让它瘫痪:
class Program
{
static long _input;
static long _timesDivided;
static string _output;
static void Main()
{
Console.WriteLine("Enter the number of Pirates: ");
var isValidInput = long.TryParse(Console.ReadLine(), out _input);
if (!isValidInput)
{
Console.WriteLine("Please enter a valid number");
Console.ReadKey();
return;
}
Console.WriteLine("Caculating minimum treasure...\r\n \r\n");
_timesDivided = _input + 1;
var answer = CalculateTreasure();
if (answer > 0)
_output = string.Format("The minimum treasure is {0}", answer);
else
_output = "There was an error, …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用 JWT 在 dotnet core 上使用 Nancy 来获得无状态身份验证。我在 Ubuntu 虚拟机上运行它。cannot resolve type但我在我的Startup.csat中不断遇到错误x.UseNancy();
我的启动类如下所示:
public class Startup
{
public static IConfigurationRoot Configuration;
public Startup(IHostingEnvironment env)
{
Configuration = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables()
.Build();
}
public void Configure(IApplicationBuilder app)
{
app.UseOwin(x =>
{
x.RequiresStatelessAuth(
new MySecureTokenValidator(new ConfigProvider(Configuration)),
new StatelessAuthOptions() { IgnorePaths = new List<string>(new[] { "/login", "/content" }) });
x.UseNancy();
});
}
}
Run Code Online (Sandbox Code Playgroud)
我的 ConfigProvider 类:
public class ConfigProvider : IConfigProvider
{
private readonly IConfigurationRoot config; …Run Code Online (Sandbox Code Playgroud)