刚知道有类型名为“类型+?”,意为类型范围加上“可为空”这个范围。
可否举个例子,为啥时候,才设计为bool?类型的。
MSDN,只是说了bool?安全转为bool的,小弟项目经验不足,不知道啥时候要设计该值。
如何:从 bool? 安全地强制转换为 bool(C# 编程指南)
可空类型(C# 编程指南)
带着好奇问问。
17 个解决方案
#1
不知道为啥子俺就从来没用过!
#2
bool? tag
估计可以为空了,呵呵
估计可以为空了,呵呵
#3
这个要根据情况自己选用
就像 int,谁能具体规定一下啥时候应该用int了
至于转换到简单
bool res;
bool a=res??false
或
bool b= res.GetValueOrDefault()
就像 int,谁能具体规定一下啥时候应该用int了
至于转换到简单
bool res;
bool a=res??false
或
bool b= res.GetValueOrDefault()
#4
恩,刚刚在在MSDN看了一下??运算符的使用。
虽然知道用法。
但能看到这使用上的,还真不明白为啥要这样设计。
因为能用上这种情况的真的很少。
哈哈……我只是好奇。
#5
我一般在以下情况用的比较多
比如
比如
struct book
{
public string bookname;
public int bookid;
}
book? GetBook(int id)
{
book? b = null;
if ( 数据库有记录 )
{
b = new book { bookname ="123" , bookid=1 };
}
return b;
}
void main()
{
book? b = GetBook(1);
if ( b==null )
没有记录
else
string bookname = ((book)b).bookname;
}
#6
bool? b= null;
b则可以处理true、false和null值
可空类型Nullable
接合运算符??
int? x = null;
int y = x ?? -1; // X is null y为-1
相当于 int y = x.HasValue ? x.GetValueOrDefault() : -1
b则可以处理true、false和null值
可空类型Nullable
接合运算符??
int? x = null;
int y = x ?? -1; // X is null y为-1
相当于 int y = x.HasValue ? x.GetValueOrDefault() : -1
#7
Nullable可能源于三进制状态表达的考虑。
#8
#9
比如你的网站有个性别字段,但用户可以不填,就可以用null表示未填的,true表示“男”,false表示“女”。
#10
就是。
#11
bool类型 你可以简单的理解为开关啊
#12
学习学习 !!!!
#13
恩,这个不错!!!!!!!
#14
你会被春哥、曾哥、小沈阳追杀
#15
这还是我第一次听说啊 直面面对火星文了
#16
追杀我也要用啊
谁让这世界还有第三种性别呢
#17
这可能是过分技术化的恶果。
null用我们自然的语言就是说“不知道、不确定、不关心”。只要我们用自然的语言来读我们的对象结构,我们就知道有没有必要将属性或者字段表达为可为null的了(免得那种用-1来表达“不知道年龄”的过时写法)。
听说编程的人也开始讲《道法自然》了,什么时候真的自然呢?不能分析时说一套而编写代码时出来的代码是另一套吧。
null用我们自然的语言就是说“不知道、不确定、不关心”。只要我们用自然的语言来读我们的对象结构,我们就知道有没有必要将属性或者字段表达为可为null的了(免得那种用-1来表达“不知道年龄”的过时写法)。
听说编程的人也开始讲《道法自然》了,什么时候真的自然呢?不能分析时说一套而编写代码时出来的代码是另一套吧。
#1
不知道为啥子俺就从来没用过!
#2
bool? tag
估计可以为空了,呵呵
估计可以为空了,呵呵
#3
这个要根据情况自己选用
就像 int,谁能具体规定一下啥时候应该用int了
至于转换到简单
bool res;
bool a=res??false
或
bool b= res.GetValueOrDefault()
就像 int,谁能具体规定一下啥时候应该用int了
至于转换到简单
bool res;
bool a=res??false
或
bool b= res.GetValueOrDefault()
#4
恩,刚刚在在MSDN看了一下??运算符的使用。
虽然知道用法。
但能看到这使用上的,还真不明白为啥要这样设计。
因为能用上这种情况的真的很少。
哈哈……我只是好奇。
#5
我一般在以下情况用的比较多
比如
比如
struct book
{
public string bookname;
public int bookid;
}
book? GetBook(int id)
{
book? b = null;
if ( 数据库有记录 )
{
b = new book { bookname ="123" , bookid=1 };
}
return b;
}
void main()
{
book? b = GetBook(1);
if ( b==null )
没有记录
else
string bookname = ((book)b).bookname;
}
#6
bool? b= null;
b则可以处理true、false和null值
可空类型Nullable
接合运算符??
int? x = null;
int y = x ?? -1; // X is null y为-1
相当于 int y = x.HasValue ? x.GetValueOrDefault() : -1
b则可以处理true、false和null值
可空类型Nullable
接合运算符??
int? x = null;
int y = x ?? -1; // X is null y为-1
相当于 int y = x.HasValue ? x.GetValueOrDefault() : -1
#7
Nullable可能源于三进制状态表达的考虑。
#8
#9
比如你的网站有个性别字段,但用户可以不填,就可以用null表示未填的,true表示“男”,false表示“女”。
#10
就是。
#11
bool类型 你可以简单的理解为开关啊
#12
学习学习 !!!!
#13
恩,这个不错!!!!!!!
#14
你会被春哥、曾哥、小沈阳追杀
#15
这还是我第一次听说啊 直面面对火星文了
#16
追杀我也要用啊
谁让这世界还有第三种性别呢
#17
这可能是过分技术化的恶果。
null用我们自然的语言就是说“不知道、不确定、不关心”。只要我们用自然的语言来读我们的对象结构,我们就知道有没有必要将属性或者字段表达为可为null的了(免得那种用-1来表达“不知道年龄”的过时写法)。
听说编程的人也开始讲《道法自然》了,什么时候真的自然呢?不能分析时说一套而编写代码时出来的代码是另一套吧。
null用我们自然的语言就是说“不知道、不确定、不关心”。只要我们用自然的语言来读我们的对象结构,我们就知道有没有必要将属性或者字段表达为可为null的了(免得那种用-1来表达“不知道年龄”的过时写法)。
听说编程的人也开始讲《道法自然》了,什么时候真的自然呢?不能分析时说一套而编写代码时出来的代码是另一套吧。