我正在开发一个使用C#表单的小项目,它需要所有用阿拉伯字符编写的文本,因此当我点击一些创建Click事件处理程序时,一些阿拉伯字符可能会出现在函数名称定义中:
private void تفريغالخاناتToolStripMenuItem_Click(object sender, EventArgs e)
{
// Code goes here
}
所以我想知道如果这个程序在安装或运行时在不同的机器上运行,这种函数名称是否会在将来导致严重问题?另一方面,我正在研究和编译它在我自己的机器上没有任何问题。
您是否会建议我将这些名称更改为英文字符,以便日后不做噩梦,或者C#可以毫无危险地处理它?</ p>
答案 0 :(得分:2)
这将适用于每台机器,因为即使某些编译器不支持Unicode,CLR也不介意......
然而......你不应该想要用任何非英语编写代码,因为这是一个不好的约定(有很多文章解释了为什么没有适当约定的编码很糟糕,并且会导致错误和难以调试 - 和写代码)。
请记住,某些编码辅助程序和反汇编程序(如Reflector和Resharper)可能无法正常工作(可能是特定的两个......)。
此外,对这些方法使用反射将使您必须考虑字符串比较等方式...