我有以下列表,我在课堂上填写:
List<string> stringCollection = new List<string>();
我在上课之前已经声明了很多静态字符串。 这些字符串是基于条件表达式的集合添加到我的列表中的,这意味着它会改变我放入列表中的字符串类型,例如:
static string DescriptionText1 = "blabla",
DescriptionText2 = "blabla",
MagnitudeText1 = "blabla",
MagnitudeText2 = "blabla";
if(number < 2)
{
stringcollection.Add(DescriptionText1)
}
else
{
stringcollection.Add(DescriptionText2)
}
//Magnitude
if(magnitude > 128 && number < 256)
{
stringcollection.Add(MagnitudeText1)
}
else
{
stringcollection.Add(MagnitudeText2)
}
...
然后我将列表传递给我想要检索字符串的方法:
public void Collection(List<string> ts)
{
string Description = ts.Find(DescriptionText); <--- my guess
string Magnitude = ts.Find(MagnitudeText);
}
如何在列表中找到正确的字符串,并将其写入我方法中新声明的字符串? - 即使它们被附加,因此1,2,3 ...... 6,7
答案 0 :(得分:3)
由于您始终先放入Description
然后放入Magnitude
,您可以这样做:
ts[0] // description
ts[1] // magnitude
或者,考虑编写一个具有两个属性的类:
// I don't know what these two things represent, please name it properly in your code!
class DescriptionMagnitude {
public string Description { get; }
public string Magnitude { get; }
public DescriptionMagnitude(string description, string magnitude) {
Description = description;
Magnitude = magnitude;
}
}
然后创建此类的实例并传递它。
编辑:
来自你的评论:
然后我可以搜索我的int变量吗?
好像你想找到与字符串相关的整数。但是,1
中的DescriptionText1
只是标识符的一部分。为什么不只是存储整数而不是字符串?
根据您对字符串的处理方式,枚举可能是合适的:
enum Descriptions {
Foo = 0,
Bar = 1
Fizz = 2
}