c# - 将字符串列表转换为相应的int c#

标签 c# string int set match

我正在做一个测验,从一个文本文件中提取了一系列字符串并将它们添加到一个列表中,进一步将文件信息分成单独的字符串。我的问题是,如何使各个字符串对应于一个数值?例如 A = 1,B = 2,依此类推。

以下代码描述了列表的创建和元素的添加:

List<string> keyPool = new List<string>();
OpenFileDialog keyLoad = new OpenFileDialog();
        keyLoad.Multiselect = false;

        if (keyLoad.ShowDialog() == DialogResult.OK)
        {
            foreach (String fileName in keyLoad.FileNames)
            {

                key = File.ReadAllText(fileName);

                kLabel.Text = ("Key:" + System.Environment.NewLine);
                k1 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[0];
                keyPool.Add(k1);
                k2 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[1];
                keyPool.Add(k2);
                k3 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[2];
                keyPool.Add(k3);
                k4 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[3];
                keyPool.Add(k4);
                k5 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[4];
                keyPool.Add(k5);
                k6 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[5];
                keyPool.Add(k6);
                k7 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[6];
                keyPool.Add(k7);
                k8 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[7];
                keyPool.Add(k8);
                k9 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[8];
                keyPool.Add(k9);
                k10 = key.Split(new string[] { System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries)[9];
                keyPool.Add(k10);
            }
        }

这将如何完成?

最佳答案

一般来说,您正在查找字典。在这种情况下,我们使用它来定义字符串和数字之间的映射:

Dictionary<string, int> mapping = new Dictionary<string, int>();
mapping.Add("A", 1);
...

int value = mapping["A"];

如果您只想将前几个大写字母转换为数字,您可以利用 ASCII 表:

int value = (int)stringValue[0] - (int)'A' + 1;

关于c# - 将字符串列表转换为相应的int c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26746098/

相关文章:

php - PHP 中的按位和无符号整数运算

c++ - 将整数隐式转换为类 'BigInt'

c# - 使用 asp.net web api 进行部分更新

c# - 如何将一些 VBScript 代码转换为 C#

string - Strip() 在 Julia 中工作很奇怪

java - 如何完成反向字符串?

PHP MySQL插入带有千位分隔符的整数

c# - Blazor:没有 session /JWT token 时重定向到登录页面?

c# - Windows 7 x32下C#中dllimport的问题

C# 字符串拆分 - 无结束分隔符