将字符转换为字母整数位置?我试图找出是否有一种快速的方法来获取字符在字母表(C#)中的整数位置。我可以简单地创建一个数组并获得位置,但似乎必须有一种“漂亮而时髦”的方法来实现这一点?我还考虑过将(大写)字符的ASCII位置与“65”相关联……但是,再一次,这似乎比它应该做的更多的工作![只有英文26个字母,不需要国际化-不,这不是作业!]编程101:charc='A';//字符c='b';你可以使用小写字符。intindex=char.ToUpper(c)-64;//index==1forcase:intindex=(int)c%32;由于char和int可以在计算中混合和匹配,因此您可以将char视为数字(肯定介于众所周知的值之间):charc='A';varindex=(c@Ahmed方法的干净、可读、基于0的实现,带有边界检查。//////将拉丁字符转换为标准拉丁字母表中相应字母的索引//////大写或小写拉丁字符///拉丁字母表中字母的从0开始的索引privatestaticintGetIndexInAlphabet(charvalue){//使用大写字符unicode代码点。'A'=U+0042=65,'Z'=U+005A=90charupper=char.ToUpper(value);if(upper'Z'){thrownewArgumentOutOfRangeException("value","ThismethodonlyacceptsstandardLatincharacters.");}return(int)upper-(int)'A';这是一个很好的实现,使用ForreadingcolumntocolumnnumberfromExcelstring。感谢@ahmed-kraiem和@vladimir提供上述答案。以上就是C#学习教程:字符转字母整数位置?如果分享的内容对你有用,需要了解更多C#学习教程,希望大家多多关注---publicintAddColFromLetter(strings){intcolumn=0;整数迭代器=1;foreach(charcins){intindex=char.ToUpper(c)-64;//AhmedKRAIEM//intindex=(int)c%32;//Valdimirif(iter==1)column+=index;if(iter>1)列+=25+索引;迭代器++;}返回列;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
