2013-12-02 3 views
-1

Я начинаю пытаться написать метод сохранения свойств элементов формы в текстовом файле. Я думаю, что в моем цикле есть некоторые проблемы. текстовый файлСохранение свойств элемента формы в текстовом файле

public void SaveFormItems(object sender, List<IFormItem> Items,string fileName) 
    {   
     string fn = path+fileName+".txt"; 
     string[] content = null; 
     string[] line = null; 
     int count = Items.Count; ; 
     for (int i = 1; i < count; i++) 
     { 
      foreach (var ctrl in Items) 
      { 
       content[0] = ctrl.Id.ToString(); 
       content[1] = ctrl.Type.GetTypeCode().ToString(); 
       content[2] = ctrl.X.ToString(); 
       content[3] = ctrl.Y.ToString(); 
       content[4] = ctrl.Height.ToString(); 
       content[5] = ctrl.Width.ToString(); 
       content[6] = ctrl.Text.ToString(); 

       line[i] = String.Join("/t", content); 
      } 



      if (!File.Exists(fn)) 
      { 
       File.WriteAllLines(path, line, Encoding.UTF8); 
      } 
     } 

    } 

Выход должен содержать каждое свойство элемента в отдельных строках, как

FormName 
Text 1 500 100 30 200 0 User ID 
TextInput 2 700 100 30 200 0 UsesrId 
Text 3 500 150 30 200 0 First Name 
TextInput 4 700 150 30 200 0 FirstName 
+1

Нужно инициализировать свои массивы, чтобы начать с 'content = new string [7];'. Ваш цикл также должен быть равен нулю для 'for (int i = 0; i Iain

+0

Можете ли вы описать конкретную проблему, с которой вы сталкиваетесь? Разве это не компиляция, не встречается ли исключение во время выполнения, иначе она не ведет себя так, как вы ожидаете? –

+0

На самом деле я запускаю изолированный проект, и я пишу методы тестирования, чтобы проверить его. – JRU

ответ

0

Я надеюсь, что это поможет.

public void SaveFormItems(object sender, List<IFormItem> Items,string fileName) 
    {   
     string fn = path+fileName+".txt"; 
     string[] content = new string[7]; 
     string[] line = null; 
     foreach (var ctrl in Items) 
      { 
       content[0] = ctrl.Id.ToString(); 
       content[1] = ctrl.Type.GetTypeCode().ToString(); 
       content[2] = ctrl.X.ToString(); 
       content[3] = ctrl.Y.ToString(); 
       content[4] = ctrl.Height.ToString(); 
       content[5] = ctrl.Width.ToString(); 
       content[6] = ctrl.Text.ToString(); 

       line[i] = String.Join("/t", content); 

       if (!File.Exists(fn)) 
        { 
         File.WriteAllLines(path, line, Encoding.UTF8); 
        } 
      } 
    } 
Смежные вопросы