如何改变C#语言

时间:2014-03-31 07:10:36

标签: c#

我在我的大学国家用法语学习c#编程,我想知道我是否可以更容易地将法语更改为法语,例如:
从:

string name = Console.ReadLine();
if(name=="Aymen")
{
    Console.WriteLine("Hello, Aymen");
}

要:

chain nom = Console.ReadLine();
Si(nom=="Aymen")
{
    Console.WriteLine("Bonjour, Aymen");
}

我做的是改变"字符串"和"如果"与"链"和" Si"。
感谢

4 个答案:

答案 0 :(得分:12)

不,这是不可能的(反正是一个坏主意)。


C#有一个明确设计的specification,它定义了所有语言结构,而这种“翻译”不是它的一部分。可以创建具有这种功能的计算机语言,但影响将是巨大的:

  • 每个“语言”keywords的列表会增加(在您的示例中,Si是一个reserverd关键字)。
  • 学习语言会更难。
  • 该语言的大多数用户将无法读取您的代码(只需考虑每个基本类型都有多个名称的事实。
  • 作为一名专业开发人员,您可能仍需要学习英文版本,并且首先学习法语版本会浪费时间。
  • 为这样的语言编写编译器要困难得多(更难= =需要更多时间= =花费更多钱),收益微乎其微。

因此,看到具有这种功能的深奥有趣的计算机语言,我不会感到惊讶;但是生产就绪的主流语言?否。

答案 1 :(得分:2)

更改语言的关键词是学习语言和学习编码的错误方法。

答案 2 :(得分:1)

C#的保留和上下文关键字以及大多数语言都无法更改 - 编译器期望它们是预定义且明确的。没有主流语言允许这样做。这涵盖了示例中的stringif

可用库和框架的类和成员名称包含在库本身中。从技术上讲,你可以用你自己的库替换库(是的,如果你非常非常无聊的话,你可以编写自己的System.dll和mscorlib.dll) - 但是有些名称是必需的并且是必要的 - 例如,你不能用不同的东西替换Monitor.EnterGetEnumerator)() / MoveNext() / get_Current - 编译器将会破坏。这包括您示例中的ConsoleReadLineWriteLine

然而!您自己的代码中的字段,变量,类型和成员可以是unicode中的任何合理。当然,您的字符串文字可以包含您想要的任何unicode。所以你可以:

static class す {
    static void Main() {
        ず();
    }
    static void ず() { }
}

答案 3 :(得分:0)

您要问的是更改编程语言的类型和关键字,然后更改其结构。由于编译器希望使用Microsoft定义的标准结构,因此您的更改将不起作用。出于这个原因,你所要求的是不可能的。

如果您想更改关键字并定义新结构,请阅读一些书籍并了解有关编译器和编程语言的内容。然后,也许,您将能够使用自己定义的结构创建自己的编程语言。

我认为,每个人都希望根据口语改变编程语言的结构,以便更容易地阅读它。我多次想到Console.LeggiRiga()Console.ReadLine()的意大利语翻译),但这意味着我的源代码只有意大利语的人才能阅读和理解。

使用英语,我们能够相互理解我们在使用代码时所做的事情,因为正如@OndrejTucny所说,英语是软件工程的通用语言。