将整数值分配给字母

本文关键字:分配 整数 | 更新日期: 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);

等。