繁体   English   中英

按字符串名称搜索字符串列表

[英]Search in list of strings by name of the string

我上课时要填写以下列表:

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

由于您总是先输入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变量?

似乎您想查找与字符串关联的整数。 但是, DescriptionText11只是标识符的一部分。 为什么不只存储整数而不是字符串?

根据您对字符串的处理方式,一个枚举可能是合适的:

enum Descriptions {
    Foo = 0,
    Bar = 1
    Fizz = 2
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM