c# - 如何将变量中的值转换为数组索引
问题描述
希望我能清楚地解释这一点......我有一组变量:
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 ”。
解决方案
创建一个包含字符串和 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)));
推荐阅读
- android - Firestore Rules to give data access to specific app
- android - DialogFragment 监听器
- c - Windows 上的 Code::Blocks 中出现“找不到 -lws2_32.lib”错误
- javascript - 为什么我的应用程序在运行时出现此错误,“./node_modules/@nestjs/common/cache/cache.providers.js 中的错误”?
- vscode-extensions - 如何以编程方式隐藏 VSCode 中的所有面板?
- python - 2 实现树遍历的区别
- ruby-on-rails - 如何减少 Rails 应用下的 TTFB 时间
- android - Android 的 qml.qrc 文件中的资源限制是多少?
- python - pathlib glob('*') 和 iterdir 有什么区别?
- c# - 如何在web api中将数据表转换为json