gpt4 book ai didi

c# - foreach 循环和数组值

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:30 26 4
gpt4 key购买 nike

我正在编写一个简单的 foreach 循环来从 appconfig 文件中读取键值。出于某种原因,每次 foreach 循环递增时,名为 server 的数组字符串都会丢失以前的值。一旦程序运行完成,我看到的值为 (server[0] = null, server[1]=null, server[2] = )。只有最后一个数组指针 server[3] 保留值。

我的问题是:

  1. 为什么server[0]和server[1]变为null。
  2. 如何保留所有数组值并将它们传递到 foreach 循环之外?

    private void button2_Click(object sender, EventArgs e)
    {
    int i = 0;
    int max = 0;
    string[] server;

    foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
    {
    max = max + 1;
    }

    foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
    {
    server = new string[max];
    server[i] = key;
    MessageBox.Show(server[i]).ToString();
    i = i + 1;
    }
    }

最佳答案

server = new string[max];

应该在循环之外(在你的例子中,在两者之间),否则你每次迭代都会创建一个新数组。这就解释了为什么最后一个值是正确的,而其余的都是空的。

此外,您可以使用 ++ 代替 i + 1max + 1

关于c# - foreach 循环和数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com