2009-12-25 3 views
-1

Функция работает хорошо.Использование списков не в основном() -

Если добавить динамическое значение, находящееся в другом классе, и я все еще хочу объявить список0 в Main(). Как ?

спасибо.

using System; 
using System.Collections.Generic; 
using System.Text; 


class Program 
{ 

    public static void Main() 
    { 
     List<string> list0 = new List<string>(); 

     list0.Add("A"); // Move to other class. 
     list0.Add("B"); // Move to other class. 

     string line0 = string.Join("/", list0.ToArray()); 
     Console.WriteLine(line0); 
     Console.ReadLine(); 
    } 
} 

======================================

ОБНОВЛЕНО ,

С вашей помощью. Моя проблема решена. еще один вопрос ниже.

using System; 
using System.Collections.Generic; 
using System.Text; 


public class Program 
{ 

    public static void Main() 
    { 

     List<string> list0 = new List<string>(); 

     list0.Add("A"); 
     list0.Add("B"); 

     otherClass oAdd = new otherClass(); 
     oAdd.AddItem(list0); 

     string line0 = string.Join("/", list0.ToArray()); 
     Console.WriteLine(line0); 
     Console.ReadLine(); 
    } 
} 

public class otherClass 
{ 
    //error CS0117: 'otherClass' does not contain a definition for 'AddItem' 
    // If uncommented and switch to this line show the error above. I don't know why? 
    //public static void AddItems(IList<string> list0) 
    public void AddItem(IList<string> list0) 
    { 
     list0.Add("C"); 
     list0.Add("D"); 
    } 

} 

Я нашел еще одну проблему. Благодарю.

+0

Не могли бы вы быть более конкретными? Что именно ты пытаешься сделать? вы хотите, чтобы операции добавления выполнялись в отдельном методе, который получает список в качестве параметра? –

+0

Сделайте свой список собственностью, и вы попытаетесь установить его из другого класса? –

+0

@Moshe, Да, как вы сказали. Я хочу, чтобы операция добавления была в отдельном классе (методе), а затем получает список в качестве параметра. Благодарю. –

ответ

2
public class OtherClass 
{ 
    public OtherClass(IList<string> list0) 
    { 
     list0.Add("A"); 
     list0.Add("B"); 
    } 
} 

или

public class OtherClass 
{ 
    public static void AddItems(IList<string> list0) 
    { 
     list0.Add("A"); 
     list0.Add("B"); 
    } 
} 

Это работает, потому что список является ссылочным типом, поэтому вы передаете ссылку, а затем добавить элементы в классе List, который живет в куче на этой ссылке.

+0

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

+0

@Nano HE проверить мой комментарий к вашему вопросу. –

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