首页 > 解决方案 > 如何将变量中的值转换为数组索引

问题描述

希望我能清楚地解释这一点......我有一组变量:

static string sRunnerSetName, sFH, sR1, sH2, sR2, sH3, sR3, sH4, sR4, sH5, sR5 = "";
static int iRunnerSetName, iFH, iR1, iH2, iR2, iH3, iR3, iH4, iR4, iH5, iR5 = 0;

每个int变量都有一个唯一的值,它提供了相应的字符串变量需要组合并放入连接字符串的顺序。因此iFH保存字符串sFH将在连接字符串中定位的排序/订单号位置。

我只是不知道如何使用每个int中的值来创建字符串的顺序?

举个例子 -

 iFH = 2; i1R = 0; i2R = 1;
 sFH = "z"; s1R = "x"; s2R = "y";

希望使用整数变量中的值来创建每个字符串的顺序/位置,以便上面的连接结果将是“ xyz ”。

标签: c#variablesconcatenation

解决方案


创建一个包含字符串和 int 的类:

class Item
{
    public string Description {get;set;}
    public int SortOrder {get;set;}
}

创建这些项目的列表(或另一个更适合您需要的集合):

List<Item> list = new List<Item>
{
   new Item { Description = "Test", SortOrder = 4 },
   new Item { Description = "Test2", SortOrder = 3 },
   new Item { Description = "sadf", SortOrder = 1 },
   new Item { Description = "Example", SortOrder = 2 },
   new Item { Description = "something", SortOrder = 5 }
};

您可以使用 LINQ 对列表进行排序:

list = list.OrderBy(x => x.SortOrder).ToList();

然后您可以在控制台上输出它:

Console.WriteLine(string.Join("\n", list.Select(x => x.Description)));

在线尝试


推荐阅读