繁体   English   中英

将整数值分配给字母

[英]Assign integer value to letter

所以我有这个问题。 我有文本框,文本包含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()函数 我检查了脚本及其工作正常但是脚本看起来很长很好所以我希望其他开发人员帮我挤出这段代码。 除了这种方法之外我尝试了很多东西,但没有一个能够奏效。

int x = int.Parse(txtNumbers.Text);

int a[12];
for(int i=0;i<12;i++)
{
    a[i] = x %12;
    x = x/10;
}

这个问题似乎有点宽泛。 有很多方法可以做你所建议的。

一种方法是简单地将-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);

等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM