gpt4 book ai didi

C#:使用 String.Split 方法在每一行拆分字符串列表?

转载 作者:行者123 更新时间:2023-11-30 19:29:33 25 4
gpt4 key购买 nike

我正在尝试使用 String.Split 在每一行拆分我的字符串列表方法,但下面的方法和正则表达式方法都不起作用。相反,他们返回了以下结果 {0}
0. System.String[]
而不是实际的字符串数组。请帮助找出以下代码中的错误:

    string m_settings_temp;
string[] m_settings;
public void ShowSettingsGui() {
var dialog = new OpenFileDialog { Filter = "Data Sources (*.ini)|*.ini*|All Files|*.*" };
if (dialog.ShowDialog() != DialogResult.OK) return;
m_settings_temp = File.ReadAllText(dialog.FileName);
m_settings = m_settings_temp.Split(new [] { '\r', '\n' });
//This regex method failed as well:
//m_settings = Regex.Split(m_settings_temp,"\r\n|\r|\n");
}

//The method below is to evaluate the output
protected override void SolveInstance(IGH_DataAccess DA)
{
if (m_settings == null)
{
AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "You must declare some valid settings");
return;
}
DA.SetData(0, m_settings);
}

提前致谢!

最佳答案

只需使用 ReadAllLines像这样

m_settings = File.ReadAllLines(dialog.FileName);

这将为您提供一个 string[],其中包含所选文件中每一行的元素。如果在运行此代码后,m_settings 没有元素,则您选择的文件为空。


如果我想在控制台应用程序中查询 m_settings 的内容,我可能会做类似的事情。

for (var i = 0; i < m_settings.Length; i ++)
{
Console.WriteLine(m_settings[i]);
}

这将输出数组的内容,一次一个元素。如果我对数组使用 ToString 的实现,就像这样,

Console.WriterLine(m_settings);

我会得到数组类型及其包含的元素数量的字符串表示形式。


我怀疑你想做类似的事情

protected override void SolveInstance(IGH_DataAccess DA)
{
if (m_settings == null || m_settings.Length == 0)
{
AddRuntimeMessage(
GH_RuntimeMessageLevel.Warning,
"You must declare some valid settings");

return;
}

for (var i = 0; i < m_settings.Length; i ++)
{
DA.SetData(i, m_settings[i]);
}
}

关于C#:使用 String.Split 方法在每一行拆分字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932435/

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