gpt4 book ai didi

c# - 构建和使用通用列表?

转载 作者:行者123 更新时间:2023-11-30 20:09:18 25 4
gpt4 key购买 nike

谁能帮我弄清楚如何在不使用 ArrayList 的情况下简化这段代码?

List<Pair> material = new List<Pair>();
List<string> list = new List<string>();

string tempStr;
int integer = -1;
foreach (string s in ((string)Value).Split(new char[1] { ',' }))
{
if (int.TryParse(s, out integer))
{
tempStr = NameValue.AllKeys[integer];

if (someCondition == true)
{
material.Add(new Pair(tempStr, integer));
}
else
{
list.Add(tempStr);
}
}
}
if(someCondition == true)
{
return material.ExtensionMethodForLists();
}
else
{
return list.ExtensionMethodForLists();
}

当我尝试类似(如下)的操作时,我收到一个错误,因为没有初始化隐式类型的变量。

var list;
if(someCondition == true)
{
list = new List<Pair>();
}
else
{
list = new List<string>();
}

最佳答案

如果您使用不同的类型,则需要为变量使用非通用类型:

IList list;
if(someCondition == true)
{
list = new List<Pair>();
}
else
{
list = new List<string>();
}

IList list = someCondition ? (IList)new List<Pair>() : new List<string>();

就我个人而言,我不确定这是一个很棒的设计,但它满足了要求。

关于c# - 构建和使用通用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com