【问题标题】:how to get values from DB and add those in array in C# [duplicate]如何从数据库中获取值并将它们添加到C#中的数组中[重复]
【发布时间】:2017-01-25 12:33:45
【问题描述】:

我在谷歌上搜索并没有找到任何结果。 大多数人在虚空中声明数组。像这样

private void Something(){
                ArrayList list = new ArrayList();
                list.Add("awdawd");
}

但我必须在它之外声明数组,因为它将用于不同的空隙。这是我的代码:

 public string[] Names= { "Rick", "Morty", "John" };

对于数据库:

 private void GetNames() {

        string cmdText = "SELECT * FROM Login";

        // using (SqlConnection cnn = new SqlConnection("Server=.\\SQLEXPRESS;Database=TestDB"))
        using (SqlCommand SelectCommand = new SqlCommand(cmdText, connectionstring))
        {
            SqlDataReader myReader;
            connectionstring.Open();
            myReader = SelectCommand.ExecuteReader();

        }

    }

我试图让它成为 Names.add("Mario"); 但它没有工作。

有什么建议吗?

【问题讨论】:

  • 是的。不要使用数组。改用 List
  • 您想将这些名称添加到预定义的名称中,还是将初始数组替换为数据库中的值?数组没有Add 方法。如果要使用Add,请使用List<> 而不是数组。
  • 你应该了解字符串数组和ArrayList的区别
  • @Sinatr 我也看到了那个帖子。我没有帮助我
  • 顺便说一句,这不是void,而是method(不会返回任何内容)。您的方法 GetNames 应该返回一些东西(例如 string[])或获得不同的名称

标签: c# arrays


【解决方案1】:

您可以调整数组的大小以向其中添加新元素,但在您的情况下最好使用List<string>

public List<string> Names= new List<string>(){ "Rick", "Morty", "John" };

然后你可以添加

Names.Add("Mario");

【讨论】:

  • 谢谢,这行得通。但是我怎样才能找到字符串数组中的最大值数?对于旧的我使用 Names.Length
  • Names.Count() 会给你结果
  • 检查名称对象。应该有一个有意义的属性来计数。可能 Count 是您想要的……只需浏览属性,看看有什么意义。
  • 是的。 Names.Count 有效。谢谢
猜你喜欢
  • 1970-01-01
  • 2016-06-15
  • 2014-08-19
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 2013-08-05
相关资源
最近更新 更多