List 我们可以在泛型列表中键入cast吗?

List 我们可以在泛型列表中键入cast吗?,list,c#-3.0,List,C# 3.0,我们可以在泛型列表中进行类型转换,比如在字符串中创建列表,并尝试添加和检索int值。。。e、 g: class Program { static void Main() { List<int> list = new List<int>(); list.Add(2); list.Add(3); list.Add("prakash"); list.Add("arun"); } for (int i = 0

我们可以在泛型列表中进行类型转换,比如在字符串中创建列表,并尝试添加和检索int值。。。e、 g:

class Program
{
    static void Main()
    {
    List<int> list = new List<int>();
    list.Add(2);
    list.Add(3);
    list.Add("prakash");
    list.Add("arun");
    }
    for (int i = 0; i < list.Count; i++) // Loop through List with for
    {
        Console.WriteLine(list[i]);
    }
}
类程序
{
静态void Main()
{
列表=新列表();
增加(2);
增加(3);
列表。添加(“prakash”);
列表。添加(“阿伦”);
}
for(int i=0;i
否,您不能将字符串添加到通用
列表中。正如Dmitry指出的,在添加字符串之前,您可以尝试将字符串解析为
int

可以将if语句与TryParse一起使用,如下所示

int theNumber;
if (int.TryParse("prakash", out theNumber))
{
    list.Add(theNumber);//Will not be added 
}

if (int.TryParse("42", out theNumber))
{
    list.Add(theNumber);//Will be added
}

你想要什么?当您添加“prakash”时,应该添加什么数字?如果您需要不同类型的对象列表,您可以使用
list list list=new list()是,但我的问题是我有一个int数据类型的通用列表。我们可以使用类型转换在列表中添加字符串值吗?不,不能将字符串转换为int。但是,如果字符串表示数字,则可以使用
int.Parse()
方法。