我试图将输出屏幕镜像到.txt文件。通过我的下面代码,我可以将输出屏幕镜像到文本文件。执行obj.OutputFile("First text");
时没有问题但有时我需要打印obj.OutputFile("Second text {0}",text);
我在第二行执行期间得到了异常
方法没有超载' OutputFile'需要2个参数测试文档
如何清除异常?
我希望我的代码接受不同数量的参数传递。
我的代码
class Program
{
static void Main(string[] args)
{
string text = "Sample";
Program obj = new Program();
obj.OutputFile("First text");
obj.OutputFile("Second text {0}",text);
Console.ReadKey();
}
public void OutputFile(string text)
{
string path = "Example.txt";
if (!File.Exists(path))
{
using (TextWriter tw = new StreamWriter(path))
{
tw.WriteLine(text);
Console.WriteLine(text);
}
}
else if (File.Exists(path))
{
using (TextWriter tw = new StreamWriter(path,true))
{
tw.WriteLine(text);
Console.WriteLine(text);
}
}
}
}
我对这个c#完全陌生。所以我希望你的回答很简单。
答案 0 :(得分:4)
您对OutputFile的调用似乎不正确。当方法签名为obj.OutputFile("Second text {0}",text);
时,您有public void OutputFile(string text)
,这意味着它需要一个参数。
您所要做的就是将电话改为:
obj.OutputFile(string.Format("Second text {0}", text));
如果你使用C#6,你可以做得更好:
obj.OutputFile($"Second text {text}");
答案 1 :(得分:1)
更改
obj.OutputFile("Second text {0}",text);
到
obj.OutputFile(string.Format("Second text {0}",text));
编辑:
您对OutputFile的函数定义有一个参数。使用字符串之间的逗号,您有两个参数而不是预期的一个参数。