小编Hel*_*rld的帖子

转换为枚举与Enum.ToObject

我最近看到一个使用这种风格的项目:

(SomeEnum)Enum.ToObject(typeof(SomeEnum), some int)
Run Code Online (Sandbox Code Playgroud)

而不是这种风格:

(SomeEnum)some int
Run Code Online (Sandbox Code Playgroud)

为什么要使用前者?这只是风格问题吗?

来自MSDN:

此转换方法返回Object类型的值.然后,您可以将其转换或转换为enumType类型的对象.

https://msdn.microsoft.com/en-us/library/ksbe1e7h(v=vs.110).aspx

在我看来,MSDN告诉我,我应该调用ToObject(),然后我可以强制转换.但我很困惑,因为我知道我可以在不调用该方法的情况下进行投射.ToObject()的目的是什么?它完成了什么简单的铸造不?

c# enums

9
推荐指数
1
解决办法
5359
查看次数

Kotlin的尾巴有什么意义?

tailrec优化尾递归的函数.为什么编译器无论如何都不优化它?

C编译器优化尾递归.您不必将该方法标记为具有尾递归.编译器只是注意到最后一个操作是递归的.就是这样.

为什么这个看似过多的关键字存在?我错过了什么吗?它纯粹是为了方便编译器,而不是用户?

kotlin

9
推荐指数
2
解决办法
946
查看次数

如何显示NuGet包依赖关系?

我正在使用 Visual Studio 2019。在.NET Framework项目中,我想显示已安装的包依赖于哪些包。如何才能做到这一点?

如果我创建一个 .NET Core 项目,则在“解决方案资源管理器”窗格中“项目”下的“依赖项”项下似乎可以轻松获得此信息(可以展开并浏览层次结构)。

然而,在.NET项目中,存在“引用”而不是“依赖项”,但它不能以相同的方式扩展。

.net visual-studio nuget visual-studio-2019

8
推荐指数
1
解决办法
8533
查看次数

使用本地日期设置和获取 HTMLInputElement.valueAsDate 的正确方法是什么?

valueAsDate 的功能似乎存在根本性的缺陷:

var date1 = new Date();
date1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()); // input expects requires year, month, day

var input = document.createElement("input"); input.type = "date";

input.valueAsDate = date1;

var date2 = input.valueAsDate;

console.log(date1);
console.log(date2);

console.log(date1.getTime(), date2.getTime()); // EVEN THE UTC TIMESTAMP IS NOT EQUAL!!
Run Code Online (Sandbox Code Playgroud)

我想设置一个本地日期,我想获取一个本地日期。如何在来回保持正确的日期类型(UTC 或本地)的同时实现这一目标?

html javascript

7
推荐指数
1
解决办法
3812
查看次数

无论 .NET Core HttpClient 中的有效性如何,如何允许所有 https?

我正在 .NET Core 中创建一个 Web API。为了在本地调试它,我创建了一个连接到我的 API 的控制台应用程序。我正在 Linux 中调试。

https://localhost:5001/连接到我的本地 URL 时,我的控制台应用程序抛出 AuthenticationException (根据验证程序,远程证书无效)。

我试图通过两种方式规避这一点:

  1. 添加了ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;但是没有效果。

  2. 我已经跑了dotnet dev-certs https --trust。现在我的网络浏览器不再抱怨了,这很好,但我的控制台应用程序仍然抛出异常。试过重启。

如何让 .NET Core 信任我的本地主机服务器?还是忽略证书有效性?

c# ssl ssl-certificate .net-core asp.net-core

7
推荐指数
1
解决办法
8108
查看次数

EF Core 模型的 .NET 6 可空属性警告

我正在使用 EF Core,并且我有这个模型:

public class Article
{
    public int Id { get; set; }
    public User Author { get; set; } // <- CS8618
    public int AuthorId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

正如上面的代码注释中所指出的,我收到一个恼人的可为空警告。我正在使用 Fluent API 来注释我的模型,显然 Author 不可为空,因为 AuthorId 不可为空。

我觉得使用User? Author相反 来使警告消失是不正确的,因为该属性显然不可为空,这将是一个谎言,并且也向使用我的模型的人暗示它可以为空。

处理这种情况的正确方法是什么?抑制警告?

c# entity-framework-core .net-6.0

7
推荐指数
3
解决办法
5337
查看次数

ASP.NET Core MVC:包含 %2F(正斜杠)的路由参数有问题

我有以下路由属性:

[HttpGet("{id}/foo")]
Run Code Online (Sandbox Code Playgroud)

我的 id 是一个 base64 编码的值,因此,可能包含一个正斜杠。我用这个编码正斜杠%2F,不过,这似乎是ASP.NET MVC的核心解码URL,然后匹配的路线,因为我得到一个404,如果我的id包含%2F

有什么办法可以允许%2F我的id

我知道那里有一些答案(例如如何将 web api 2 路由与请求参数中的正斜杠匹配?),但是对于所有这些,有问题的参数总是最后一个,只有这样你才能使用通配符(?)。

asp.net-mvc asp.net-mvc-routing asp.net-core

6
推荐指数
0
解决办法
1233
查看次数

从ospace属性名称获取列名(sspace)

我可以从以下示例中看到如何获取OSpace类型的表名:

https://lowrymedia.com/2014/06/10/ef6-1-mapping-between-types-tables-including-derived-types/

但是,如何从OSpace属性名称(即CLR类型属性)获取SSpace列名?

通过从相应的CSpace属性浏览MetadataProperties,我可以看到如果使用Fluid API或ColumnAttribute更改了包含列名的"Configuration"条目,但条目的值是EF的内部类.它可能吗?

我已经浏览了关于此主题的一些答案,但没有一个考虑Fluid API配置.

PS我正在寻找的特定属性是标量,如果这可以简化事情......

entity-framework entity-framework-6

5
推荐指数
1
解决办法
320
查看次数

相当于Kotlin中C#的Semaphore/SemaphoreSlim?

Kotlin 中是否有与 C# 的 Semaphore/SemaphoreSlim 类型等效的类型?我想将它与协同例程(非阻塞)一起使用。即WaitOneAsync()。

kotlin kotlinx.coroutines

4
推荐指数
1
解决办法
1513
查看次数

如何在 ASP.NET Core 中检查用户是否经过身份验证

我知道User.Identity.IsAuthenticated必须如此才能检查用户是否经过身份验证。然而,我不确定这些属性中哪些可以为空。所以我目前有这个代码:

if (User?.Identity?.IsAuthenticated == true)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

那是对的吗?或者可以省略任何空条件运算符吗?

c# asp.net-core

4
推荐指数
1
解决办法
5000
查看次数