本文发表在 rolia.net 枫下论坛现在越来越多的公司开始转到.net 3.5,LINQ似乎是必考的题目,这些题和LINQ有关
1) 有一个数组
string[] a = new string[] {"a1","b1","c1","d1","e1"}
要求打印出以下的效果,用包括LINQ在内的最简单的方法完成
"a1-b1-c1-d1-e1"
朋友没用LINQ,用的是
string b = "";
for(int i=0;i<a.Length;i++)
{
if(i!=a.Length-1)
{
b+=a[i]+"-";
}
else
{
b+=a[i];
}
}
Console.WriteLine(b);
考官既然提到LINQ,我估计他是想考LINQ的.Aggregate()方法,这应该不叫LINQ,是一个扩展方法而已,最简单的是这种写法
string b = a.Aggregate((a1,b1)=>a1+"-"+b1);
Console.WriteLine(b);
还有一些题,比如把数组 "to-toronto","mo-montrol","la-Los Angeles"
变成一个Directory<string, string> dir
里面内容是
dir[to] = toronto
dir[mo] = montrol
dir[la] = Los Angeles
同样要求用包括LINQ在内的最简单的方法完成
按常规写法用一个loop当然可以搞定,但我猜考官可能是要考.ToDirectory() 方法,应该这么写
string[] a = new string[] {"to-toronto","mo-montrol","la-Los Angeles" }
var dir = a.ToDictionary(s => s.Split('-').First(), s => s.Split('-').Last());
总之朋友讲给我的linq题都是考一些基本知识,但这2个扩展方法平时人们不是很常用,考官可能是测试你对linq的熟练程度。更多精彩文章及讨论,请光临枫下论坛 rolia.net
1) 有一个数组
string[] a = new string[] {"a1","b1","c1","d1","e1"}
要求打印出以下的效果,用包括LINQ在内的最简单的方法完成
"a1-b1-c1-d1-e1"
朋友没用LINQ,用的是
string b = "";
for(int i=0;i<a.Length;i++)
{
if(i!=a.Length-1)
{
b+=a[i]+"-";
}
else
{
b+=a[i];
}
}
Console.WriteLine(b);
考官既然提到LINQ,我估计他是想考LINQ的.Aggregate()方法,这应该不叫LINQ,是一个扩展方法而已,最简单的是这种写法
string b = a.Aggregate((a1,b1)=>a1+"-"+b1);
Console.WriteLine(b);
还有一些题,比如把数组 "to-toronto","mo-montrol","la-Los Angeles"
变成一个Directory<string, string> dir
里面内容是
dir[to] = toronto
dir[mo] = montrol
dir[la] = Los Angeles
同样要求用包括LINQ在内的最简单的方法完成
按常规写法用一个loop当然可以搞定,但我猜考官可能是要考.ToDirectory() 方法,应该这么写
string[] a = new string[] {"to-toronto","mo-montrol","la-Los Angeles" }
var dir = a.ToDictionary(s => s.Split('-').First(), s => s.Split('-').Last());
总之朋友讲给我的linq题都是考一些基本知识,但这2个扩展方法平时人们不是很常用,考官可能是测试你对linq的熟练程度。更多精彩文章及讨论,请光临枫下论坛 rolia.net