我非常努力,谷歌搜索了很多,但我仍然得到同样的错误..不知道要改变什么或如何改变。
错误发生在string std = Console.Write(p);
我确实将p
分配给了hi
,然后又归结为无效......?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace SoloLearn
{
class Program
{
static void Main(string[] args)
{
string p = "hi";
string str = " if (p == ";
string std = Console.Write(p);
File.WriteAllText("test.txt", str + std);
string txt = File.ReadAllText("test.txt");
Console.WriteLine(txt);
}
}
}
我期待一个像if (p == hi
的文本文件一样的输出..
答案 0 :(得分:2)
您的代码中有错误:
...
string p = "hi";
string str = " if (p == ";
Console.Write(p); // just write, Console.Write returns void (i.e. nothing)
File.WriteAllText("test.txt", str + p); // "+ p" not "+ std"
string txt = File.ReadAllText("test.txt");
Console.WriteLine(txt);
...
答案 1 :(得分:0)
Console.Write
不会返回任何值,因此您无法分配调用结果。
请注意,要在C#中指定“无返回值”特殊void
返回类型,这会导致您看到的错误(以斜体显示):
“无法将
void
(Console.Write
)的结果分配给string
(std
变量的类型)“。
答案 2 :(得分:0)
你得到的错误
string std = Console.Write(p);
是由写入方法的返回类型引起的:" void" (又名"什么都没有")。 Console.Write 仅将其参数输出到您的控制台应用程序中。