2011-04-19 146 views
0

我试图在我的StoreNames()方法中实例化ListEx类的一个实例,以获得一个名称列表并将其存储在类ListEx所以其他方法可以访问它们。我收到一个错误,我无法将void转换为int。有人可以对此有所了解吗?C#实例化一个ListArray的方法

public class ListEx 
{ 
    List<string> name = new List<string>(); 
} 

string StoreNames() 
{ 
    ListEx nm = new ListEx(); 
    List<string> tmpName = new List<string>(); 

    nm.name.add = tmpName.Add(Console.ReadLine()); 
} 

////////////////新代码//////////////////////

class Program 
{ 
    public static List<string> localList = new List<string>(); 
    static void Main(string[] args) 
    { 
     List<string> a = new List<string>(); 
     SortName(a); 
     Console.Read(); 
    } 
    public static List<string> StoreName(List<string> aString) 
    { 
     aString = new List<string>(); 
     localList.Add("c"); 
     localList.Add("a"); 
     localList.Add("b"); 
     localList.Add("d"); 

     foreach (string s in localList) 
     { 
      Console.WriteLine(s); 
     } 
     Console.Read(); 
     return aString; 
    } 
    public static List<string> SortName(List<string> aString) 
    { 
     StoreName(aString); 
     localList.Sort(); 
     foreach (string s in localList) 
     { 
      Console.WriteLine(s); 
     } 
     return localList; 
    } 
} 

回答

0

或(读您的文章后再次:)

public class ListEx 
{ 
    public List<string> name = new List<string>(); 
} 

void StoreName() 
{ 
    ListEx nm = new ListEx(); 
    List<string> localList = new List<string>(); 

    localList.Add ("whatever"); 

    nm.name = localList; 
} 

void StoreNameShort() 
{ 
    ListEx nm = new ListEx(); 

    nm.name.Add("whatever"); 
} 

心连心

马里奥

+0

它说nm.name由于其保护级别而不可访问。但这实际上是我的思想流派。 – jpavlov 2011-04-19 12:52:34

+0

你有没有看到我chnaged ListEx.name公开?它应该编译好。另外请注意,我chnaged类型的StoreName无效而不是字符串(因为你没有返回任何东西) – 2011-04-19 12:57:11

+0

感谢马里奥,工作!我想我的理解并不是我想要解决的问题。 – jpavlov 2011-04-19 13:02:27

0

nm.name.Add(Console.ReadLine());

2

那么,在这一行:

nm.name.add = huh.Add(Console.ReadLine()); 
  • ...你试图用一个私人领域,这是行不通的,除非StoreNames是LISTEX内。

  • 你然后试图分配给ListEx的子字段/属性...你期望add指什么?

  • 您正在尝试使用huh.Add,当你还没有表现出什么huh

  • 你试图通过分配返回huh.Addnm.name.add的价值,我怀疑Add有一个void返回类型。

换句话说,这是相当破碎。您不清楚您要在此处做什么,为什么您需要ListEx,其中StoreNames是,或者您为什么要尝试将Add方法的返回值分配给字段/属性。 ListEx真的只是一个私人领域?如果是这样,这不会太有用。

+0

+1同意破碎。你的回答比我的猜测更好... – 2011-04-19 12:44:22

+0

谢谢。我试图将收到的名称存储在程序之外的一个单独的类中,并使用主要语句,然后使用其他方法访问它,以便我添加,删除等。很可能这是“艰难的方式”,也许我应该在我的程序中声明一个全局变量,而不是这种方法? – jpavlov 2011-04-19 12:46:19

+0

@jpavlov:一个全局变量几乎从来不是前进的方向,但我仍然不明白'ListEx'的用途。为什么不能直接使用'List '? – 2011-04-19 12:52:41