我的代码删除子,分裂的结果,并将其存储:从字符串数组中的
public void processData(string data)
{
string com = data.Split(' ')[0];
string[] val = data.Remove(0,com.Length).Split(' ');
}
我想使用此代码实现的是,当com
存储从data
变量的第一个字, val
数组应该存储data
变量的其余字。在第四行代码中,我通过首先将字符从0索引移除到第一个字的长度来实现此目的。这将删除第一个单词,然后它将根据空格分割它,然后将结果存储在数组中。问题是这没有发生。 com
正在存储第一个单词,但val
始终显示为空。请有人告诉我该怎么办?我可以使用foreach
循环或其他技术来实现这一点。但由于性能问题,我不需要太多代码。
我的例子字符串是这样的:
begin main
timesteps 1750
weeks 250
campaigns 6
scenario 10
epsilon 0.01
powerplant1 11
powerplant2 10
constraint13 46
constraint14 7
constraint15 0
constraint16 1
constraint17 3
constraint18 0
constraint19 1
constraint20 1
constraint21 1
durations 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24
有右左的字段和值。我想单独存储它们。
例子:场timesteps
和价值是1750
解决方案:
这是非常愚蠢的解决方案,但我只是重新启动我的Visual Studio和它工作得很好。
非常感谢您的回复。我+1所有答案和标记Blachshma回答,因为重新启动或重新创建项目的建议是从他那里来的。
这应该工作。你能显示下面几行代码吗?什么意思是“显示为空”,在哪里? – 2013-04-06 14:08:49
之后没有任何代码行。所有必需的代码是这样的。正在调用它的代码完美地将字符串值传递给它。 – 2013-04-06 14:11:12
如果您担心性能问题,调用字符串拆分并不是非常高效。你为什么现在担心优化这个步骤?你没有给出任何背景......看起来像不成熟的优化。 – SMT 2013-04-06 14:13:44