检查列表是否已填充

时间:2019-12-11 14:41:32

标签: c# wpf

我正在编写一个程序,允许人们输入邮政编码,并显示与输入的邮政编码有多远的不同医疗服务。

邮编本应存储在列表中,但是我不知道如何检查列表是否被填充。

谁能给我任何想法。

这是列表

 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;
    }

这是一个测试器按钮,但是不起作用

 private void Button_Click1(object sender, RoutedEventArgs e)
    {
        var test1 = GetPostcodes("gpSurgery").ToString();
        MessageBox.Show(test1);

    }

2 个答案:

答案 0 :(得分:2)

function acronym(str) { let result = ""; let inWord = false; for (let i = 0; i < str.length; i++) { let ch = str.charAt(i); if (isLetter(ch)) { if (!inWord) result += ch; inWord = true; } else { inWord = false; } } return result; } function isLetter(ch) { return ch.length === 1 && ALPHABET.indexOf(ch.toUpperCase()) !== -1; } 方法应在每次调用时创建一个新的GetPostcodes,而不是重新使用全局变量:

List<string>

在“测试”中,如果要确定列表中的项目数,只需检查列表的Count属性的值即可。

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;
}

答案 1 :(得分:1)

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

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.
        }
    }
相关问题