如何更改 C# 语言

本文关键字:语言 何更改 | 更新日期: 2023-09-27 17:55:08

我正在我的大学国家用法语学习 C# 编程,我想知道
我是否可以将单词更改为法语对我来说更容易,例如:
从:

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

自:

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

我所做的是用"链"和"Si"更改"字符串"
和"if"。谢谢

如何更改 C# 语言

不,这是不可能的(无论如何都是一个坏主意)。


C# 有一个明确设计的规范来定义所有语言构造,而这样的"翻译"不是其中的一部分。创建具有这种功能的计算机语言是可能的,但影响将是巨大的:

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

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

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

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

可用库和

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

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

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

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

如果你想改变关键字并定义一个新的结构,读几本书,学习一些关于编译器和编程语言的知识。然后,也许,您将能够使用自己定义的结构创建自己的编程语言。

我认为,每个人都想根据口语改变编程语言的结构,以便以更简单的方式阅读它。我想了很多次关于Console.LeggiRiga()Console.ReadLine()的意大利语翻译),但这意味着我的源代码只有意大利语使用者才能阅读和理解。

使用英语,

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