110,539
社区成员
发帖
与我相关
我的任务
分享
public delegate int AddDelegate(int a,int b);
public int add(int a,int b)
{
return a+b;
}
AddDelegate del = add;
var result = del(5,6);
=>是lambda表达式专用的。vs2008及以上版本的编译器支持的一种写法。
var是一种由右边调用推倒类型的伪类型,只是方便书写,并不是未定义类型的,也不是泛化编程的一部分,同样vs2008及以上版本的编译器支持的一种写法。
int x = 5;
var result = new List<int>(new int[]{x*5});
这里var并不是运行时决定的,编译时就替你替换为List<int>存入IL了。方便书写而已。
=>就是函数调用,例如
public delegate int AddDelegate(int a,int b);
public int add(int a,int b)
{
return a+b;
}
AddDelegate del = add;
var result = del(5,6);
可以简化为
AddDelegate del = (a,b)=>a+b;
省去上面那个函数的编写,实际上,并不是没有那个函数,只是一个简化写法,编译时系统还是会替你生成那个签名的函数。简化写法而已。语法糖。
void Main()
{
List<int>list=new List<int>();
int min=100;
int max=400;
list= Enumerable.Range(min,max-min).Where(l=>IsOK(l)).OrderBy(l=>l).ToList();
Console.WriteLine(min+"-"+max+"的质数个数是:"+list.Count);
Console.WriteLine("---------------");
list.ForEach(l=>Console.WriteLine(l));
}
bool IsOK(int m)
{
int flag=0;
for(int i=2;i<m;i++)
{
if(m%i==0)
{
flag=1;
break;
}
}
return flag==0;
}
/*
100-400的质数个数是:53
---------------
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
307
311
313
317
331
337
347
349
353
359
367
373
379
383
389
397
*/