C# 检查列表是否已填充

C# 检查列表是否已填充,c#,wpf,C#,Wpf,我在写一个程序,让人们输入一个邮政编码,并得到不同的医疗服务,显示他们离输入的邮政编码有多远 邮政编码应该存储在列表中,但是我不知道如何检查列表是否已填充 有人能给我一些想法吗 这是名单 private List<string> GetPostcodes(string table) { connect = new MySqlConnection(connectionString); connect.Open(); string

我在写一个程序,让人们输入一个邮政编码,并得到不同的医疗服务,显示他们离输入的邮政编码有多远

邮政编码应该存储在列表中,但是我不知道如何检查列表是否已填充

有人能给我一些想法吗

这是名单

 private List<string> GetPostcodes(string table)
    {
        connect = new MySqlConnection(connectionString);
        connect.Open();
        string selectString = "select postcode from " + table;

        MySqlCommand cmd = new MySqlCommand(selectString,connect);
        reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            postcodes.Add(reader.GetString("postcode"));
        }
        connect.Close();

        return postcodes;
    }

您需要做的是检查GetpostCodes返回的列表。不要将其转换为字符串,因为该函数不适用于列表。您必须正确地将列表转换为相应的字符串

GetPostcodes返回一个列表。使用该列表检查其计数

 private void Button_Click1(object sender, RoutedEventArgs e)
    {
        var test1 = GetPostcodes("gpSurgery");
        if (test1.Count > 0) // <---- Check the Count here
        {
            MessageBox.Show(string.Join(",", test1)); // <-- Display the list
        }
        else
        {
            MessageBox.Show("Nothing found"); // <-- Shows nothing found.
        }
    }
private void按钮\u单击1(对象发送者,路由目标)
{
var test1=获取邮政编码(“gps”);

如果(test1.Count>0)/则
GetPostcodes
方法应在每次调用时创建一个新的
列表,而不是重用全局变量:

private List<string> GetPostcodes(string table)
{
    List<string> postcodes = new List<string>();
    using (var connect = new MySqlConnection(connectionString))
    {
        connect.Open();
        string selectString = "select postcode from " + table;
        using (MySqlCommand cmd = new MySqlCommand(selectString, connect))
        {
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    postcodes.Add(reader.GetString("postcode"));
                }
            }
        }
    }
    return postcodes;
}

邮政编码.Count>0?@Jawad那会去哪里?试试MessageBox.Show(test1.Count);你能更明确地说明它是如何“不起作用”的吗?@Fawcett Fawcett什么意思?什么事都没有发生?代码被命中了吗?你运行它时是否连接了调试器?是否引发了异常?描述代码的行为时,你需要非常具体。请记住,我们不在你的计算机前查看发生了什么,所以由你来描述发生了什么。
private List<string> GetPostcodes(string table)
{
    List<string> postcodes = new List<string>();
    using (var connect = new MySqlConnection(connectionString))
    {
        connect.Open();
        string selectString = "select postcode from " + table;
        using (MySqlCommand cmd = new MySqlCommand(selectString, connect))
        {
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    postcodes.Add(reader.GetString("postcode"));
                }
            }
        }
    }
    return postcodes;
}
private void Button_Click1(object sender, RoutedEventArgs e)
{
    var test1 = GetPostcodes("gpSurgery");
    MessageBox.Show(test1.Count);

}