将c#列表转换为合适的格式

本文关键字:格式 列表 转换 | 更新日期: 2023-09-27 18:05:06

我对c#有点陌生,需要帮助解决以下问题

我有一个列表代码,其中包含以下值

ticker[0] =1
ticker[1] = 122
ticker[2] = 321
.....
ticker[n] = n  // where n is some random number

现在的问题是我需要创建一个对象列表它看起来像

keys:[[1,66],[122,66],[321,66],.....,[n,66]]

任何帮助或建议都是非常感谢的。

提前感谢——P

将c#列表转换为合适的格式

Easy:

var pairs = ticker.Select(x=>new[]{x,66}).ToList();

pairs将是一个包含2个元素的整数数组列表,其中原始数组中的每个元素都与第二个值66配对。

您也可以使用相同的语句创建两个整数的Tuple(在。net 4.0中):

var pairs = ticker.Select(x=>new Tuple<int,int>(x,66)).ToList();

这是稍微多一点的O/O;您使用.Value1.Value2而不是[0][1]来访问这对的第一个和第二个值。

如果你想创建一个数组的数组:

int[][] keys = ticker.Select(n => new int[] { n, 66} ).ToArray();

如果你想创建一个字符串:

string s = "keys:[" + String.Join(",", ticker.Select(n => "[" + n.ToString() + ",66]")) + "]";

使用Linq,如果您想将值映射到索引

ticker.Select((val, index) => new[] { val, index }).ToList();

如果你真的想在每个项目后面加上数字66:

ticker.Select(val => new[] { val, 66 }).ToList();

这将创建一个数组列表,每个数组对应您想要的值对。