2009-12-25 4 views
-1

La fonction fonctionne bien.Liste Useage Pas dans Main() -

Si ajouter une valeur dynamique située à l'autre classe, et je veux toujours déclarer la liste0 à Main(). Comment ?

Merci.

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

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

MISE À JOUR .

Avec votre aide. Mon problème a été résolu. une autre question plus ci-dessous.

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

} 

J'ai trouvé un autre problème. Merci.

+0

Pourriez-vous être plus précis? Qu'est-ce que vous essayez de faire exactement? vous souhaitez que les opérations d'ajout soient dans une méthode distincte qui reçoit la liste en tant que paramètre? –

+0

Faites de votre liste une propriété et vous essayez de la définir à partir d'une autre classe? –

+0

@Moshe, Oui, comme vous l'avez dit. Je veux que l'opération Add soit dans une classe séparée (méthode) puis reçoive la liste en tant que paramètre. Merci. –

Répondre

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

ou

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

Cela fonctionne parce qu'une liste est un type de référence, de sorte que vous passez la référence et l'ajout d'éléments à la classe de liste qui vit sur le tas à cette référence.

+0

Bonjour Yuriy, j'ai suivi votre guide. J'ai trouvé qu'une seule méthode fonctionne. pourriez-vous s'il vous plaît inspecter mon code ci-dessus. Merci. –

+0

@Nano HE vérifier mon commentaire à votre question. –