【发布时间】:2014-02-20 21:54:50
【问题描述】:
我是C# 的“新”初学者,在做我的项目时,我遇到了一个我无法用我的知识解决的问题。我尝试了很多,但它对我没有用,所以我希望能得到一些帮助。
public void ReadValue()
{
foreach(string cat in this.ini.iniGetCategories())
{
textbox1.Text = string.Join(Environment.NewLine , this.ini.iniGetCategories()) + Environment.NewLine + string.Join(Environment.NewLine, this.ini.iniReadValue(cat,"Key");
}
}
this.ini.iniGetCategories() - 从我的 INI 中读取所有部分 - 工作正常
this.ini.iniReadValue(string Section, string Key) - 从部分的键中读取值
主要问题是,它给了我所有的 Section - 名称,但它只给了我 INI 中的最后一个 Key + Value 而忽略了另一个
29.01.2014 - 10.00 我的实际代码只给了我“1 个部分 + 1 个值”。其他的还不见了……
StringBuilder strbuild1 = new StringBuilder();
foreach (string cat in this.ini.IniGetCategories())
{
strbuild1.Append(cat + Environment.NewLine);
foreach (string ccat in this.ini.IniGetCategories())
{
strbuild1.Append(this.ini.IniReadValue(ccat, "Betreff"));
}
}
textBox1.Text = strbuild1.ToString();
【问题讨论】:
-
@Schrader 你的内部循环不应该遍历类别而是遍历键。由于这是您的项目,我想您自己编写了这些方法?你需要例如一个方法
public List<string> ReadKeys(string section) -
@WimOmbelets 现在我的内部循环遍历我的
this.ini.iniGetKeys- 方法我将两个循环都添加到我的Stringbuilder但最终再次获得一个值...而且我只需要一个键中的值“贝特雷夫”