因?yàn)橛昧?xí)慣了Python中一些便捷的方法,隨即查詢C#中有沒有類似的。
?一、Range()方法
在Python中,range(Start,End,Step)可以直接生成一個(gè)可迭代對(duì)象,便用于需要循環(huán)多次處理某些代碼塊:
(注:Range方法中的End是開區(qū)間,range(1,10)實(shí)際的取值是(1 ~ 9))
1 for item in range(1, 10): 2 print(item, end='') 3 # Output: 4 # 123456789
?
在C#中也有相同的方法可以使用:
System.Linq 命名空間中的 Enumerable.Range(Start, Count)
1 foreach(int item in Enumerable.Range(1, 10)) 2 Console.Write($"{item}="); 3 // Output: 4 // 1=2=3=4=5=6=7=8=9=10=
?
range(Start,End,Step)和Enumerable.Range(Start, Count)中的參數(shù)含義有別:
range ?依次是 開始,結(jié)束,步長,且生成的對(duì)象并不包括End這個(gè)元素。
Range 依次是 開始,數(shù)量,即從1開始,向后數(shù)10個(gè)數(shù),所以上述輸出的結(jié)果是1~10,如果改成Range(0, 10)則結(jié)果將是0~9。
?
二、Select()方法
其對(duì)應(yīng)著Python中的Enumerate()方法,即遍歷元素的同時(shí),并將對(duì)應(yīng)的下標(biāo)也賦值給index:
1 for index, item in enumerate(range(1, 10)): 2 print(f'元素 | {item} | 的下標(biāo)是:{index}') 3 # Output: 4 ''' 5 元素 | 1 | 的下標(biāo)是:0 6 元素 | 2 | 的下標(biāo)是:1 7 元素 | 3 | 的下標(biāo)是:2 8 元素 | 4 | 的下標(biāo)是:3 9 元素 | 5 | 的下標(biāo)是:4 10 元素 | 6 | 的下標(biāo)是:5 11 元素 | 7 | 的下標(biāo)是:6 12 元素 | 8 | 的下標(biāo)是:7 13 元素 | 9 | 的下標(biāo)是:8 14 '''
?
C#中Select()方法來實(shí)現(xiàn),Select方法可以對(duì)集合進(jìn)行轉(zhuǎn)換,并返回一個(gè)包含轉(zhuǎn)換后元素的新集合。文章來源:http://www.zghlxwxcb.cn/news/detail-711652.html
1 foreach (var item in Enumerable.Range(1, 10).Select((num, index) => new { Index = index, Num = num })) 2 Console.WriteLine($"Index: {item.Index}, Num: {item.Num}"); 3 4 // Output: 5 //Index: 0, Num: 1 6 //Index: 1, Num: 2 7 //Index: 2, Num: 3 8 //Index: 3, Num: 4 9 //Index: 4, Num: 5 10 //Index: 5, Num: 6 11 //Index: 6, Num: 7 12 //Index: 7, Num: 8 13 //Index: 8, Num: 9 14 //Index: 9, Num: 10
?文章來源地址http://www.zghlxwxcb.cn/news/detail-711652.html
Select()方法中的參數(shù)含義依次為,元素,下標(biāo),如果寫成Select(index, num)那么index將表示元素,num將表示下標(biāo)。
到了這里,關(guān)于【C#】【System.Linq】一些便捷的數(shù)據(jù)處理方法(Range、Select)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!