1

我已阅读c# 语言规范

源文件通常与文件系统中的文件一一对应,但这种对应不是必需的

这到底是什么意思?

4

3 回答 3

1

正如前面的那行所说:

源文件是有序的 Unicode 字符序列

这意味着“源文件”不一定是文件系统上的文件。它可以是表示 UTF-16 字符的任何旧字节流。它可能来自内存流、网络或任何旧地方。但通常它是文件系统上的一个文件。

于 2016-07-15T12:08:30.270 回答
0

我认为它的字面意思是每个源文件都由系统上的单个文件表示。

例如,假设我有一些源代码:

Using System;

namespace Test 
{
    public class Program 
    {
        private static void Main (string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

这可以作为Program.cs. 我们现在有一些源代码,它们由系统上的单个文件表示。

但不需要此信函

表明系统上并不总是存在源文件。例如,源可以作为“Unicode 字符序列”存在,而可以存储在内存中的某个位置。

于 2016-07-15T12:10:32.877 回答
0

使用 Visual Studio,您可以“链接”项目中的源文件。如果您将源文件放在一个项目中,并将相同的源文件链接到不同的项目中(即在 2 个不同的项目中共享相同的源代码),您最终会将 2 个源文件链接到一个文件。

我通常在具有多个项目的解决方案中使用此功能:共享源代码如下所示:

[assembly: AssemblyVersion("1.2.3.0")]
[assembly: AssemblyFileVersion("1.2.3.0")]

因此,当编译时,我的解决方案中的每个程序集都具有相同的版本号。

于 2016-07-15T12:20:02.380 回答