将整数值分配给字母
本文关键字:分配 整数 | 更新日期: 2023-09-27 18:35:40
所以我有这个问题。我有文本框,其中包含包含 12 个数字的文本。例如012345678912。现在我不知道如何分配第一个,然后是第二个....依此类推数字到字母,如 A,B,C,D,E,F,G,H,I,J,K,L,因为我需要它们使用以下公式计算第 13 个 (M) 数
m = 11 − (( 7*(a+g) + 6*(b+h) + 5*(c+i) + 4*(d+j) + 3*(e+k) + 2*(f+l) ) mod 11)
我也试图将这个公式放入 c# 可读文本中,我得到了这个,希望它是正确的
int result = (int)new DataTable().Compute(" 11 − (( 7*(a+g) + 6*(b+h) + 5*(c+i) + 4*(d+j) + 3*(e+k) + 2*(f+l) ) mod 11)", null);
有很多
方法可以适应来实现这一点。但是如果你真的想将变量声明为 a、b、c、d 等。
您可以先声明所有这些字母。完成后,您可以按如下方式用于每个循环
法典
int a, b, c, d, e, f, g, h, i, j, k, l;
// conversion of whole value in text box to single integers
char[] digits_array = TextBox1.Text.ToCharArray();
//Now just declare each variable as you want there are several ways to do it
a = int.Parse(digits_array[0].ToString());
b = int.Parse(digits_array[1].ToString());
c = int.Parse(digits_array[2].ToString());
d = int.Parse(digits_array[3].ToString());
e = int.Parse(digits_array[4].ToString());
f = int.Parse(digits_array[5].ToString());
g = int.Parse(digits_array[6].ToString());
h = int.Parse(digits_array[7].ToString());
i = int.Parse(digits_array[8].ToString());
j = int.Parse(digits_array[9].ToString());
k = int.Parse(digits_array[10].ToString());
l = int.Parse(digits_array[11].ToString());
现在您可以简单地在 Formaula 中使用这些值,我在这里使用的主要函数是 .ToCharArray() 函数 .我已经检查了脚本,它工作正常 Hoever 脚本似乎很长,所以我希望其他开发人员帮助我压缩这段代码。除了这种方法之外,我尝试了很多东西,但没有一个奏效。
int x = int.Parse(txtNumbers.Text);
int a[12];
for(int i=0;i<12;i++)
{
a[i] = x %12;
x = x/10;
}
这个问题
似乎有点宽泛。 有很多方法可以按照您的建议进行操作。
一种方法是简单地将 a - l 作为变量分配给值,例如:
int a = 1;
int b = 2;
int c = 3;
...
另一种方法是使用字典
Dictionary<char, int> Alpha = new Dictionary<char,int>()
{
{'a', 1}, {'b', 2}, {'c', 3} ...
};
您可以使用枚举
public enum Alphabet
{
A = 1,
B = 2,
C = 3,
...
}
Alphabet alpha = Alphabet.B;
Console.WriteLine((int)alpha);
等。