Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据C中的数据数组创建元组数组#_C#_Arrays - Fatal编程技术网

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。不要对那家伙太苛刻,有时你没有及时得到更新。。。