字符串不包含add方法的定义
本文关键字:定义 方法 add 包含 字符串 | 更新日期: 2023-09-27 18:19:27
我正在.NET中执行一个程序。我正在对程序进行一些更改。我收到一个错误
字符串不包含add方法的定义。
我不知道如何纠正这个错误。
private string process(string fname)
{
//string errs = "";
string Strings = "";
string[] lines = File.ReadAllLines(fname);
StringBuilder b = new StringBuilder();
for (int i = 1; i < lines.Length; i++)
{
string[] sa = lines[i].Split(new string[] { "," }, StringSplitOptions.None);
bool ok = false;
if (sa[1].CompareTo("EQ") == 0)
ok = true;
if (!ok && sa[1].CompareTo("BE") != 0)
continue;
string name = sa[0];
int token = NSECM.Lookup(name);
if (token == 0)
{
//errs += "Symbol " + name + " not found'r'n";
continue;
}
//int open = (int)(double.Parse(sa[2]) * 100 + 0.5);
//int high = (int)(double.Parse(sa[3]) * 100 + 0.5);
//int low = (int)(double.Parse(sa[4]) * 100 + 0.5);
//int close = (int)(double.Parse(sa[5]) * 100 + 0.5);
//uint vol = uint.Parse(sa[8]);
//int date = cdate(sa[10]);
//uint time = cvt(date);
uint open = (uint)(double.Parse(sa[2]) * 100 + 0.5);
uint high = (uint)(double.Parse(sa[3]) * 100 + 0.5);
uint low = (uint)(double.Parse(sa[4]) * 100 + 0.5);
uint close = (uint)(double.Parse(sa[5]) * 100 + 0.5);
uint vol = uint.Parse(sa[8]);
int date = cdate(sa[10]);
//b.Append("D");
b.Append("S" + (1000000 + token).ToString().Substring(1));
b.Append("-" + date);
b.Append("|D");
b.Append(Encode.encode6(cvt(date)));
//b.Append(Encode.encode6(time));
b.Append(Encode.encode4(open));
b.Append(Encode.encode4(high));
b.Append(Encode.encode4(low));
b.Append(Encode.encode4(close));
b.Append(Encode.encode6(vol));
//b.Append("'n");
Strings.Add(b.ToString());
}
}
string
类没有定义一个名为Add
的方法,因此Strings.Add(b.ToString())
行不会编译。根据你喜欢做什么,我可以想象有两种可能的解决方案
- 您希望将
Strings
的当前值与b
:Strings += b.ToString()
的值组合。但请记住,您总是将内容附加到同一个StringBuilder中,所以最终会添加很多内容。但另一方面,您可以在for循环之后编写Strings = b.ToString()
,因为这样您就可以将所有文本添加到StringBuilder中 - 您希望将
b
的当前值作为新字符串添加到字符串集合中。在这种情况下,Strings
应该是一个集合。Add
方法建议您应该查看List
类。List<string> Strings = new List<string>();
。现在您可以使用Strings.Add(b.ToString())
了。但这里也要记住,您总是在不刷新的情况下附加到同一个StringBuilder
string
类上没有Add()
方法:
Strings.Add(b.ToString());
您可以使用+=
操作符来连接字符串:
Strings += b.ToString();
使用StringBuilder而不是字符串。它支持append方法来连接字符串。此外,StringBuilder是可变的。当我们使用"StringBuilder"对象时,会使用Append方法。这意味着,在现有字符串上进行插入。StringBuilder对象上的操作比String操作更快,因为复制是在同一位置完成的。在必须执行大量字符串操作的情况下,StringBuilder的使用效率更高