如何从阵列中填充组合框?

时间:2015-06-14 09:32:23

标签: c# arrays wpf combobox split

我是一个包含姓名和电话号码的文本文件。我的讲师给了我一段代码,将其分成两个数组。现在我无法使用这些阵列填充名称和电话号码组合框。我得到的只是错误,说array1和array2不存在于当前上下文中。我怎么能正确地做到这一点?

这是我的代码的相关部分;

public partial class MainWindow:Window     {         private string cFileName =" customer.txt&#34 ;;         private string [] cNames = new string [0];         private string [] cPhoneNumbers = new string [0];

$enderecos = $command->queryAll(\PDO::FETCH_COLUMN);

//$enviar = json_encode($enderecos); <- this line no needed

Yii::$app->mailer->compose()
    ->setFrom('atf@website.com')
    ->setTo($enderecos) //you pass an array of email addresses
    ->setSubject('Oferta de jogo no site da ATF.')
    ->setTextBody('Aceda em: http://atf.besaba.com/index.php?r=playschedule%2Findex2')
    ->send();

2 个答案:

答案 0 :(得分:0)

变量array1array2仅存在于函数范围内。

您打算使用cNamescPhoneNumbers

答案 1 :(得分:0)

我会在2秒内解雇一个像你一样编写代码的人。从不调整阵列大小。而是使用列表对象!试试这个

private void read_Delimited_File(string fileName, ref List<string> array1, ref List<string> array2)
        {
            StreamReader fileSR = new StreamReader(fileName);

            char[] delimiters = { ',' };

            string line = "";
            while ((line = fileSR.ReadLine()) != null)
            {
                string[] tempArray = line.Trim().Split(delimiters);
                array1.Add(tempArray[0]);
                array2.Add(tempArray[1]);
            }
            fileSR.Close();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Keyboard.Focus(phoneTextBox);
            List<string> cNames = new List<string>();
            List<string> cPhoneNumbers = new List<string>();


            read_Delimited_File(cFileName, ref cNames, ref cPhoneNumbers);

            for (int i = 0; i < array1.Length; i++)
            {
                nameComboBox.Items.Add(array1[i]);
            }

            for (int i = 0; i < array2.Length; i++)
            {
                phoneNumberComboBox.Items.Add(array1[i]);
            }
        }​