以前、LinqのSelectを使ってPythonのmapのような操作をする方法を書きました。
そこでは、
int[] a = new int[]{ 0, 1, 2, 3, 4 };
としていましたが、new int[]
の代わりにEnumerable.Range
を使うという方法もあるそうです。
using System;
using System.Linq;
using System.Collections.Generic;
public class Example
{
static public void Main ()
{
IEnumerable<int> a = Enumerable.Range(0, 5).Select(x => x * 2 + 1);
foreach(int v in a) {
Console.WriteLine(v);
}
}
}
実行結果
1
3
5
7
9
リンク
Enumerable.Range Method (Int32, Int32) (System.Linq)
https://msdn.microsoft.com/en-us/library/system.linq.enumerable.range(v=vs.110).aspx
関連記事
C#のコードを書くときに参考になる公式リンク
IEnumerable<T>のインターフェイス
IEnumerable(T) Interface (System.Collections.Generic)https://msdn.microsoft.com/en-us/library/9eekhta0(v=vs.110).aspx
LINQ standard query operators
Standard Que...
C#の配列でPythonのmapのような操作
Pythonを使っているとmapというリストの操作が便利です。
>>> a = list(range(5))
>>> a
[0, 1, 2, 3, 4]
>>> list(map(lambda e: e*2+1, a))
[1, 3, 5, 7, 9]
C#でもこれと同じようなことができないかと探してみたところ、LINQのSelectを使って同じような感じのコードが書...
C#でリストをソートする方法
C#でリストをソートしたい場合はLINQのOrderByを使うと簡単にできるようです。
using System;
using System.Collections.Generic;
using System.Linq;
public class Example1
{
static public void Main ()
{
List list = new List<...
C#のLINQで最小値の要素を取り出す方法
C#のLINQで最小値の要素を取り出す方法をいくつか調べてみました。
Aggregateを使う場合
using System;
using System.Collections.Generic;
using System.Linq;
public class Example1
{
struct Example
{
public string name;
pu...