打开文本文件时遇到麻烦...... 有了这段代码,在调用
后会有空的stringFromFile public string OpenTextFile ()
{
var stringFromFile = string.Empty;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog().ToString().Equals("OK"))
stringFromFile = System.IO.File.ReadAllText(ofd.FileName);
return stringFromFile;
}
答案 0 :(得分:3)
在WPF中OpenFileDialog.ShowDialog()
返回Nullable<bool>
,因此您应该更改代码,如下所示
public string OpenTextFile()
{
OpenFileDialog ofd = new OpenFileDialog();
Nullable<bool> res = ofd.ShowDialog();
if(res == true)
{
using(StreamReader sr = new StreamReader(ofd.FileName))
{
return sr.ReadToEnd();
}
}
//Here message error
throw new Exception("Something");
}
答案 1 :(得分:3)
不需要调用ToString()
,更糟糕的是,如果NullReferenceException
的返回值为null,则会抛出ShowDialog()
,因为ShowDialog()
返回bool?
({ {1}})正如另一个答案所指出的那样。
这是一个双线解决方案......
Nullable<bool>