c# Linq 中为什么非要用var

来源:互联网 发布:淘宝怎么卖眼药水 编辑:程序博客网 时间:2024/05/17 08:33

因为Linq的query中的是不定类型,返回的是不定类型的指针,即不定类型的引用。在这种情况下,只能用var类型的变量存储这个不定类型的指针。var 声明的是 一个变量对象,即一个变量对象的引用(指针),我们一般以对象的引用(指针)来代表这个对象。

下面这段代码充分说明了var 对象是不定类型的引用。因为是不定类型的,所以什么类型的对象的引用都可以存。

using System;namespace VarUse{class Program{public static void Main(string[] args){int i = new int();//i 是int 对象(引用)char c = new char();//c 是char对象(引用)var v = i;//var 对象(引用)中可以存int对象(引用)v = c;//var 对象(引用)中也可以存char对象(应用)Console.Write("Press any key to continue . . . ");Console.ReadKey(true);}}}


var 对象(引用)中可以存不定对象的引用。也可以存不定类型的数组对象(引用)。下面这段代码说明了这一点

using System;namespace VarDemo{class Program  {public static void Main(string[] args){int[] i = new int[10];var v1 = i;//var 对象(引用)中可以存整型数组对象( 引用).char[] c = new char[10];var v2 = c;//var 对象(引用)中可以存字符数组对象( 引用).Console.Write("Press any key to continue . . . ");Console.ReadKey(true);}}}
那么,Linq中返回的不定类型的数组对象就可以存储在var对象里了。

using System;using System.Linq;namespace SimpleLinq{class Program{public static void Main(string[] args){//following code block builds an array //consisting of random digits from inclusive zero//to exclusive one hundredRandom r = new Random();int n;n = 100;int[] array = new int[n];int i;for(i=0;i<n;i++)array[i] = r.Next(100);//select the numbers which are greater than 50 out.var nums = from element in array//as  you see,where(element>50)//var object(reference) reserves the array object(reference)  select element;//that contains the selected numbers;                            //in Linq,the returned array is recognized as indefinite type.//end selectforeach( int num in nums)Console.WriteLine(num);Console.Write("Press any key to continue . . . ");Console.ReadKey(true);}}}



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 5岁宝宝左眼轻微散光怎么办光 孩子总吸鼻子但没有鼻涕怎么办 纹完眼线眼睛磨的很难受怎么办 我的脸型眼睛好看牙不好看怎么办 陌陌当日打招呼人数已达上限怎么办 新生婴儿白天睡觉晚上不睡怎么办 被有翅膀的蚂蚁咬了怎么办 被带翅膀的蚂蚁蛰了怎么办 被长翅膀的蚂蚁咬了怎么办 宝宝被带翅膀的蚂蚁咬了怎么办 新的小白鞋鞋子有点夹脚怎么办 单反快门按不下去里面响怎么办 在上海动漫城游戏厅里输了钱怎么办 电缝纫机扎快了上线有套那是怎么办 老式缝纫机底线总夹梭子上怎么办 两个月宝宝脸一边大一边小怎么办 炒股入金10万亏3万怎么办 如果一支股票有好几个庄家怎么办 浦发信用卡查询密码被锁定怎么办 浦发信用卡输错密码被锁定怎么办 浦发手机银行查询密码锁定怎么办 宝宝吃母乳没吃饱就睡着了怎么办 量柱画线不是方屏电脑怎么办 夏天卧室开空调太干了怎么办 健身房锻炼手臂抻的肌肉疼怎么办 人累了可以休息 心累了怎么办 上来两天班感觉不想做了怎么办 休产假的时候公司解散了怎么办 上三天班老板不给结工资怎么办 老师说孩子上课纪律不好我该怎么办 大班的孩子记不住拼音怎么办呢 家长跟孩子沟通出现问题该怎么办? 如果孩子入学分配出现问题该怎么办 2岁多的宝宝喜欢动手打人怎么办 儿童新长出的大门牙像两边撇怎么办 被烫伤了怎么办的活动反思怎么写 生完孩子脸上起蝴蝶斑了怎么办 鼻子部位突然长了晒斑怎么办 我脸上长有日晒斑.该怎么办 做为小领导同事不听你的怎么办 二年级的小孩叫写作业不听怎么办