Port pascal const IdentChars = [‘a’..’z’,’A’..’Z’,’_’];对C#的声明

Port pascal const IdentChars = [‘a’..’z’,’A’..’Z’,’_’];对C#的声明,第1张

概述我正在将一个Delphi应用程序移植到C#.在其中一个单位中有一个这样的声明: const IdentChars = ['a'..'z', 'A'..'Z', '_']; 我没有找到类似C#的声明语法. 这是我能想到的最好的: char[] identFirstChars; // = ['a'..'z', 'A'..'Z', '_'];int size = (int)'z' - (int)' 我正在将一个Delphi应用程序移植到C#.在其中一个单位中有一个这样的声明:
const  IDentChars = ['a'..'z','A'..'Z','_'];

我没有找到类似C#的声明语法.

这是我能想到的最好的:

char[] IDentFirstChars; // = ['a'..'z','_'];int size = (int)'z' - (int)'a' + 1 + (int)'Z' - (int)'A' + 1 + 1; IDentFirstChars = new char[size];int index = 0;for(char ch = 'a'; ch <= 'z'; ch = (char)((int)(ch) + 1)){    IDentFirstChars[index] = ch;    index++;}for (char ch = 'A'; ch <= 'Z'; ch = (char)((int)(ch) + 1)){    IDentFirstChars[index] = ch;    index++;}IDentFirstChars[index] = '_';

必须有一种更有效的方式.

解决方法 那这个呢?
char[] IDentFirstChars = "ABCDEFGHIJKLMnopQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_".tochararray();

当然,你可以在你的代码中生成一个数组(这可能可以用更少的行使用Enumerable.Range完成),但我认为在你的情况下它不值得.

总结

以上是内存溢出为你收集整理的Port pascal const IdentChars = [‘a’..’z’,’A’..’Z’,’_’];对C#的声明全部内容,希望文章能够帮你解决Port pascal const IdentChars = [‘a’..’z’,’A’..’Z’,’_’];对C#的声明所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1240283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存