使用 using 指令引用 C# 标头中的命名空间

Referencing Namespaces in C# headers with using-directives

提问人:Dodzkie 提问时间:12/12/2014 最后编辑:CommunityDodzkie 更新时间:12/12/2014 访问量:84

问:

我想使用如下所示的代码,例如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;

但是下面的 C# 代码(取自问题命令提示符输出被读取为空字符串)没有像上面这样的标头,可以在 cmd 控制台中使用 csc.exe 进行编译,我试图对该线程进行评论,但需要 50 信誉的要求,我还没有 VB 工作室 IDE,而且我是学习 C# 的新手。

var output = new StringBuilder();
var error = new StringBuilder();

cmd.OutputDataReceived += (o, e) => output.Append(e.Data);
cmd.ErrorDataReceived += (o, e) => error.Append(e.Data);

cmd.Start();
cmd.BeginOutputReadLine();
cmd.BeginErrorReadLine();
cmd.WaitForExit();
C# .NET 命名空间 using-directives

评论

0赞 JensG 12/12/2014
欢迎来到 SO!您还有其他想分享的投诉吗?我们都经历过那个阶段,所以没有必要向我们解释。如果您参与该网站,您将快速解锁功能。从现在开始,让你的问题成为一个好的、有用的问题,非常适合问答格式。
0赞 CodingWithSpike 12/12/2014
嗨,欢迎来到 StackOverflow!为了避免投反对票并帮助建立一些代表,你应该真正把你的问题作为一个问题来组织。在这种情况下,它可能就像添加编译器错误一样简单,并询问应该添加哪些命名空间。
0赞 CodingWithSpike 12/12/2014
此外,如果您不熟悉 C#,那么使用 VisualStudio IDE 确实很有帮助,因为它可以在代码中为您提供智能感知和错误。您实际上可以免费下载 VisualStudio Express。visualstudio.com/downloads/......

答:

1赞 Adam 12/12/2014 #1

Process 属于 System.Diagnostics,StringBuilder 属于 System.Text。

如果有疑问,请用谷歌搜索方法名称,看看哪些对象在MSDN上有它们,然后查看它们的命名空间。

评论

0赞 Dodzkie 12/12/2014
我编译了它,但出现错误 xxx.cs(1,1):错误 CS0116:命名空间不能直接包含 f ields 或方法等成员 xxx.cs(4,18):错误 CS1518:预期的类、委托、枚举、接口或结构 xxx.cs(5,17):错误 CS1518:预期的类、委托、枚举、接口或结构 按任意键继续。 .
0赞 Adam 12/12/2014
编辑了我的答案以正确 StringBuilder 的命名空间。
2赞 svick 12/12/2014
@Dodzkie 你不能只是把这些代码放到一个.cs文件中然后编译。它需要位于方法内部,而方法需要位于类内部。
0赞 Dodzkie 12/12/2014
@adam你是对的,因为它没有在 cmd 控制台中用 csc 编译.cs文件中解决.exe因为当我将这两个放在前两行时,它又是同样的错误:使用 System.Diagnostics;使用 System.Text;