相关疑难解决方法(0)

类型之间有什么区别吗?和Nullable <type>?

在C#中,可以为空的原始类型(即bool?)只是它们对应Nullable<T>类型的别名,还是两者之间存在差异?

.net c# nullable

51
推荐指数
5
解决办法
4万
查看次数

输入int吗?vs类型int

我的比较结果false符合预期

bool eq = typeof(int?).Equals(typeof(int));
Run Code Online (Sandbox Code Playgroud)

现在我有这个代码

List<object> items = new List<object>() { (int?)123 };
int result = items.OfType<int>().FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但这会返回123-无论如何该值是类型int?

怎么会这样?

c# casting

45
推荐指数
2
解决办法
3043
查看次数

"?" type modifer precedence vs logical和operator(&)vs address-of operator(&)

更新: 似乎我不清楚我究竟要问的是什么(随着时间的推移,我也失去了一些问题),所以这里是一个tl; dr版本:

var test1 = a is byte & b;    // compiles
var test2 = a is byte? & b;   // does not compile
var test3 = a is byte? && b;  // compiles
Run Code Online (Sandbox Code Playgroud)

这意味着 - 据我所知 - ?类型修饰符的优先级较低(因为它不是运算符,这可能不是最好的单词)而不是&运算符,但高于&&运算符.是这样吗?标准中描述了哪里?


原来的问题是:

在尝试从Jon Skeet的优秀博客文章"两个谜题的故事"中找出第二个谜题的答案时,我遇到了一个问题:

unsafe private void Test<T>(T a, bool b) 
{
    var test1 = a is byte? & b;         // does not compile
    var test2 = a is byte? …
Run Code Online (Sandbox Code Playgroud)

c# operators

11
推荐指数
2
解决办法
740
查看次数

?C#中的(可空)运算符

通过在值类型数据类型上应用可空运算符来改变什么,现在它可以存储null.

c# nullable

8
推荐指数
2
解决办法
8876
查看次数

日期时间的区别?和可以为空的<DateTime>

我需要知道它们之间是否存在差异

DateTime? obj
Run Code Online (Sandbox Code Playgroud)

Nullable<DateTime> obj
Run Code Online (Sandbox Code Playgroud)

如果是这样的话,他们的用例是什么?

.net c# datetime

-3
推荐指数
1
解决办法
1583
查看次数

标签 统计

c# ×5

.net ×2

nullable ×2

casting ×1

datetime ×1

operators ×1