2012-02-15 5 views
1

Добавление элементов в checkedListBox:Поместите элементы CheckedListBox в массиве

DirectoryInfo dinfo = new DirectoryInfo(@"D:\\templates"); 

FileInfo[] Files = dinfo.GetFiles("*.xml"); 

foreach (FileInfo file in Files) 
{ 
     checkedListBox1.Items.Add(file.Name); 
} 

foreach (string i in checkedListBox1.CheckedItems) 
{ 
     string[] array1 = i; 
     for (int k = 0; k < array1.Length; k++) 
     { 
       XmlDocument xdoc1 = new XmlDocument(); 
       xdoc1.Load(array1[k]); 
       string s1 = array1[k].ToUpper(); 
       int n = s1.IndexOf(array1[k]); 
       name1 = array1[k].Substring(n); 
     } 

Когда я кладу его в массив, с (string[] array1 = i;) это ошибка дает:

Cannot implicitly convert type 'string' to 'string[]' "

какие-либо предложения?

+0

Возможно, вы захотите добавить объявление i. –

+0

@HenrikJepsen: Это переменная цикла замкнутого цикла ... –

+0

Почему вы пытаетесь выполнить 'array1 = i', что вы хотите делать с КАЖДОЙ элементом CheckItems? – gideon

ответ

1

Вы не можете этого сделать. Вам нужно будет сделать что-то вроде этого

string[] array1 = new string[] { i }; 

Вы пытаетесь присвоить string к string[]. Это недопустимо.

+0

Спасибо .. за помощь. :) –

0
string[] array1 = new string[]{i}; 

DirectoryInfo dinfo = new DirectoryInfo(@"D:\\templates"); 
FileInfo[] Files = dinfo.GetFiles("*.xml"); 
Array.ForEach(Files, str => checkedListBox1.Items.Add(str.Name)); 
foreach (string i in checkedListBox1.CheckedItems) 
{ 
    XmlDocument xdoc1 = new XmlDocument(); 
    xdoc1.Load(i); 
    name1 = i.Substring(i.ToUpper().IndexOf(i)); 
} 
+0

Эй, теперь это честно. Я дал ему тот же ответ. –

+0

Эй, теперь это справедливо. Я дал тот же ответ b4. & u r используя больше требуемых строк кода. DirectoryInfo dinfo = new DirectoryInfo (@ "D: \\ templates"); FileInfo [] Files = dinfo.GetFiles ("*. Xml"); Array.ForEach (файлы, str => checkedListBox1.Items.Add (str.Name)); foreach (строка i в checkedListBox1.CheckedItems) { XmlDocument xdoc1 = new XmlDocument(); xdoc1.Load (i); строка s1 = i.ToUpper(); int n = s1.IndexOf (i); name1 = i.Substring (n); } –

+0

yah..sorry..didn't видеть это первый .. спасибо .. –

Смежные вопросы