首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

这么短的一段里面竟然有两处语法不懂.MSDN也没搜到.解决方法

2012-02-02 
这么短的一段里面竟然有两处语法不懂...MSDN也没搜到...C# code class NullableEx{public static void Mai

这么短的一段里面竟然有两处语法不懂...MSDN也没搜到...

C# code
 class NullableEx    {        public static void Main()//Main_9_3_5        {            Nullable<int>[] arrs = new Nullable<int>[5];            //int?[] arrs = new int?[5];            arrs[4] = 100;            arrs[2] = 200;            arrs[3] = 300;            foreach (int? j in arrs)            {                if (j == null)                    Console.WriteLine("No value");                else                    Console.WriteLine(j);            }            Console.Read();        }    }

这个:反省后面跟一个[]什么意思?Nullable<int>[] arrs = new Nullable<int>[5];
另外:foreach (int? j in arrs)里面的?怎么解释?


[解决办法]
[]:数组
int?:可赋null值的int类型
[解决办法]
?表示这是一种特殊的整数类型,表示“可空”。
主要用于数据库中,比如有一个数据库字段定义为int,但它标记了null,对于这种数据库的值除了int范围内的值之外,还有一个可能就是null。
int? k;
仍然是一个结构体数据,它和其它操作特性和普通整数完全相同,但它可以进行如下操作
k=null;
k==null;


[]是声明数组。
[解决办法]
[]:表示数组 声明
int?:对于那些不能赋值为null的变量可以赋null
比如int,double,datatime等
[解决办法]
Nullable <int>[] arrs = new Nullable <int>[5]; 这是泛型数组啊

foreach遍历arrs里面的元素,int是arrs里面的元素类型

[解决办法]

Nullable <int>[] arrs = new Nullable <int>[5]; 这是泛型数组啊 

代码定义了一个范型可空数组,数组内为整型元素

foreach (int? j in arrs)
因为前面定义了可空类数组,为了避免搜到空值而出错,所以定义J也能为空.
[解决办法]
[]表示数组,在你这里就是Nullable <int>的一个数组,数组里面的元素是Nullable <int>
int?表示可以包含null
[解决办法]
准确的说,应该叫 值类型的可空值类型

我们知道,引用类型(Class)的默认值是 null
而值类型(Struct)永远都不能等于 null
但是在数据库中,一个整形(int)字段又可以赋值为 null
为了解决这个问题,微软在 FCL 2.0 及其以后的版本加入了 值类型(Struct)的可空支持

而问号是C#的一种简写语法,不一定适合其它语言
Nullable <int>[] arrs 等价于 int?[]
[解决办法]
俺也不懂
[解决办法]
[] 是表示他是一个可空的值类型数组

int? 是表示 ,,int i = 0,等数值外还可以int i = null;
[解决办法]
MSDN
真的没有吗?

哦呵呵.
[解决办法]
一看就懂
[解决办法]
学习了

热点排行