如何传递这个参数?

How to Pass this parameter?

我试图将输出屏幕镜像到 .txt file.By 我的以下代码可以将输出屏幕镜像到文本文件。执行 obj.OutputFile("First text"); 时没有问题,但有时我需要打印 obj.OutputFile("Second text {0}",text);

我在第二行执行时遇到了异常

No overload for method 'OutputFile' takes 2 arguments test document

如何清除异常?

我想要我的代码接受不同数量的参数传递。

我的代码

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# 完全陌生。所以我希望你的回答很简单。

改变

obj.OutputFile("Second text {0}",text); 

obj.OutputFile(string.Format("Second text {0}",text)); 

编辑:

您的 OutputFile 函数定义有一个参数。使用字符串之间的逗号,您有两个参数而不是预期的一个参数。

您对 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}");