如何在C#中将整数转换为字符? [英] How do I convert integers to characters in C#?

查看:58
本文介绍了如何在C#中将整数转换为字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将1到27的索引转换为相应的大写字母.我知道在C ++中可以输入以下内容:

I am trying to convert an index of 1 to 27 into the corresponding uppercase letter. I know that in C++ I could type this:

char letter = 'A' + (char)(myIndex % 27);

同一代码在C#中不起作用.如何在C#中完成此任务?

This same code does not work in C#. How can I accomplish this task in C#?

如果有像上面那样的更好的数学解决方案,我宁愿不必为此编码枚举或switch语句.

I'd rather not have to encode an enum or switch statement for this if there is a better mathematical solution like the one above.

推荐答案

当您添加(或减去)两个字符时,会在C#中获得一个Int32.这将起作用:

When you add (or subtract) two characters, you get an Int32 in C#. This will work:

int letter = 'A' + (char)(myIndex % 27);

如果您想要一个字符,则需要再次明确地对其进行转换:

If you want a char, you need to explicitly cast it again:

char letter = (char) ('A' + (char)(myIndex % 27));

但是,这实际上很可能应该是:

However, this most likely should actually be:

char letter = (char) ('A' + (char)((myIndex - 1) % 26));

这篇关于如何在C#中将整数转换为字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆