Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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#_.net - Fatal编程技术网

C# 用c语言在字典中存储字母表的最简单方法#

C# 用c语言在字典中存储字母表的最简单方法#,c#,.net,C#,.net,我要求把字母表存到字典里。我已按照以下步骤进行操作: static void Main(string[] args) { char[] c = "ABCDFFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(); int key = 1; Dictionary<int, string> dictionary = new Dictionary<int, string>(); foreach (char value in c)

我要求把字母表存到字典里。我已按照以下步骤进行操作:

static void Main(string[] args)
{
    char[] c = "ABCDFFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
    int key = 1;
    Dictionary<int, string> dictionary = new Dictionary<int, string>();
    foreach (char value in c)
    {
        dictionary.Add(key, value.ToString());
        key++;
    }
}
static void Main(字符串[]args)
{
char[]c=“abcdffghijklmnopqrstuvxyz”.ToCharArray();
int键=1;
字典=新字典();
foreach(c中的字符值)
{
Add(key,value.ToString());
key++;
}
}
我不想先将字母表存储在数组中,然后再存储在字典中。是否有其他方法可以实现我的要求?

尝试以下方法:

for(char c = 'A'; c <= 'Z'; c++) {
    int key = c - 'A' + 1;
    dictionary.Add(key, c.ToString());
}

for(char c='A';c我不太清楚为什么不想使用数组,但可以使用ASCII

使用键65-64(等于1)和字母
(char)65
A


从i=65(A)运行到i=90(Z)

char和int是可互换的,您可以这样做

字典=新字典()


for(char c='A';c可以在Dictionary对象上使用集合初始值设定项:

var i = 0;
var dictionary = new Dictionary<int, string>
{
    {++i, "A"},
    {++i, "B" }
    // etc.
};
var i=0;
var字典=新字典
{
{++i,“A”},
{++i,“B”}
//等等。
};
我不想先将字母表存储在数组中,然后再存储在字典中

然后只需初始化字典:

Dictionary<int, string> alphabet= new Dictionary<int, string>()
{
    { 1, "A" },
    { 2, "B" },
    { 3, "C" } // etc
};

听起来像是一个问题。你为什么
要求在字典中存储字母表
?最终目标是什么?为什么我经常看到人们在
foreach
之前使用
tocharray
?字符串已经是一个字符序列了。你不必先将它们转换成数组。有什么教程或者什么要说的吗要做到这一点,你可以说
foreach(ABCDEFG中的char c)
如果字典的目的是查找字母表的第n个字母,只需使用
(char)('A'-1+n)
表示大写,使用
(char)('A'-1+n)
表示小写。不需要字典。
Dictionary<int, string> alphabet= new Dictionary<int, string>()
{
    { 1, "A" },
    { 2, "B" },
    { 3, "C" } // etc
};
var values = Enumerable
    // Returns values 65 to 92 (I think 92) 
    .Range((int)'A', (int)'Z' - (int)'A')
    // Select that can automatically give me the index of each value
    .Select((Val, Index) => new { Index, Val })
    // Creates a dictionary...
    .ToDictionary((iv) => iv.Index, (iv) => iv.Val.Tostring());