C# 根据C中的数据数组创建元组数组#
假设我有这个数据C# 根据C中的数据数组创建元组数组#,c#,arrays,C#,Arrays,假设我有这个数据int[]a=[1,2,3,4,5] 我想创建Tuple[],其中第一个元素是它自己,第二个是它的双倍值,最后一个元素是它是否是偶数 也就是说,结果数据将是: (1, 2, false) (2, 4, true) (3, 6, false) (4, 8, true) (5, 10, false) 我的一个解决方案是创建一个列表,在a数组和new每个Tuple上创建一个for循环,添加到列表中,然后最后在列表上使用.ToArray。但我认为一定有一个优雅的方式来做到这一点。我不介
int[]a=[1,2,3,4,5]
我想创建Tuple[]
,其中第一个元素是它自己,第二个是它的双倍值,最后一个元素是它是否是偶数
也就是说,结果数据将是:
(1, 2, false)
(2, 4, true)
(3, 6, false)
(4, 8, true)
(5, 10, false)
我的一个解决方案是创建一个列表,在a
数组和new
每个Tuple
上创建一个for循环,添加到列表中,然后最后在列表上使用.ToArray
。但我认为一定有一个优雅的方式来做到这一点。我不介意使用LINQ
int[] a = [1, 2, 3, 4, 5];
List<Tuple<int,int,bool>> list = new List<Tuple<int, int, bool>>();
{
foreach(int i in a)
{
list.Add(new Tuple<int, int, bool>(i, i * 2, i % 2 == 0));
}
}
return list.ToArray();
int[]a=[1,2,3,4,5];
列表=新列表();
{
foreach(a中的int i)
{
Add(新元组(i,i*2,i%2==0));
}
}
return list.ToArray();
一个简单的选择应该可以做到:
var tuples = a.Select(v => Tuple.Create(v, v * 2, v % 2 == 0)).ToArray();
一个简单的Select
就可以做到:
var tuples = a.Select(v => Tuple.Create(v, v * 2, v % 2 == 0)).ToArray();
使用select查询可以解决这个问题
int[] a = [1, 2, 3, 4, 5];
var result = a.Select(x => Tuple.Create<int, int, bool>(x, 2 * x, x % 2 == 0)).ToArray();
int[]a=[1,2,3,4,5];
var result=a.Select(x=>Tuple.Create(x,2*x,x%2==0)).ToArray();
使用select查询可以解决问题
int[] a = [1, 2, 3, 4, 5];
var result = a.Select(x => Tuple.Create<int, int, bool>(x, 2 * x, x % 2 == 0)).ToArray();
int[]a=[1,2,3,4,5];
var result=a.Select(x=>Tuple.Create(x,2*x,x%2==0)).ToArray();
我建议将此问题移至我建议将此问题移至oh。。他先得到:(@CamiloTerevinto在我的回答中是v,不是x,也是v*2,不是2*x。不要对那家伙太苛刻,有时你没有及时得到更新……哦……他先得到:(@CamiloTerevinto在我的回答中是v,不是x,也是v*2,不是2*x。不要对那家伙太苛刻,有时你没有及时得到更新。。。