C#加上一个双位整数

时间:2017-10-01 10:35:10

标签: c#

更具体地说,我想知道如何制作它以便我可以接受来自用户的两位数输入并对两位数字执行加法。 例: userInput = 42;

4 + 2 = 6。 我找不到这个动作的名字,所以我在这里找不到这样的答案。 我应该补充一点,我宁愿避免创建更多的整数

4 个答案:

答案 0 :(得分:4)

这是您可以使用的方法。只需使用两个字符输入string作为参数。您将获得异常,因为输入string无效或两位数之和。

public int AddTwoDigitString(string input)
{
    if(input == null)
        throw new ArgumentNullException(nameof(input));

    if(input.Length != 2)
        throw new ArgumentException($"`{nameof(input)}` must be two characters long");

    int firstDigit, secondDigit;

    if(int.TryParse(input[0].ToString(), out firstDigit) == false)
        throw new ArgumentException("First character is not an integer.");

    if(int.TryParse(input[1].ToString(), out secondDigit) == false)
        throw new ArgumentException("Second character is not an integer.");

    return firstDigit + secondDigit;
}

答案 1 :(得分:0)

你可以自己计算:

int RowIndexNo = advancedDataGridView1.CurrentCell.RowIndex;
int ColIndexNo = advancedDataGridView1.CurrentCell.ColumnIndex;
this.lTableAdapter.Update(_TODO_DataRow_)

并且如果b为42,那么a将为2 + 4 = 6

如果你不知道你有多少位数:

int b= Int32.Parse(userinput);
int a =b%10+b/10;

答案 2 :(得分:0)

您可以尝试使用Aggregate这样的System.Linq功能

return userInput.ToCharArray()
     .Aggregate(0, (result, character) => result += int.Parse(character.ToString()));

其中lamda expresion是将对输入中的每个字符执行的累加器函数。

答案 3 :(得分:0)

您可以尝试以下方法:

int号;

{
Console.Write("Insert the number"); 
number = Convert.ToInt32(Console.ReadLine()); 
Console.Write("Equals" + Addition(number).ToString());
Console.ReadKey();
}

// Operation that returns the addition of the digits of a number 

static int Addition(int number){
int acum = 0; 

while (num != 0){
var digit = number % 10;
acum += digit; 
number = number / 10; 
}

return acum;

        }
    }
}