C# 一个很长的字符串必须转换成数字形式。可以适当地使用什么数据类型?

C# 一个很长的字符串必须转换成数字形式。可以适当地使用什么数据类型?,c#,string,int,long-integer,C#,String,Int,Long Integer,我的程序是将字符串解码成数字,并对这个数字执行一些操作 下面的程序适用于小字符串。处理大型段落(在本例中作为输入)的更好方法是什么 publicstaticvoidmain() { ///编码字符串-检查整除性 WriteLine(“输入小写拉丁字母('a'-'i')”; string originalString=Convert.ToString(Console.ReadLine()); bool chkValue=Regex.IsMatch(originalString,@“^[a-i]+$

我的程序是将字符串解码成数字,并对这个数字执行一些操作

下面的程序适用于小字符串。处理大型段落(在本例中作为输入)的更好方法是什么

publicstaticvoidmain()
{
///编码字符串-检查整除性
WriteLine(“输入小写拉丁字母('a'-'i')”;
string originalString=Convert.ToString(Console.ReadLine());
bool chkValue=Regex.IsMatch(originalString,@“^[a-i]+$”;
如果(!chkValue)
{
返回;
}
char[]originalchars=originalString.ToCharArray();
长解码数=0;
StringBuilder decoded=新StringBuilder();
//int stringLength=原始字符串长度;
for(int i=0;i
正如Steve提到的,BigInteger解决了我的问题。

不确定您想在这里写什么,但是如果长字符串不够大,那么它的结构就存在了。对于小字符串,它真的工作得很好吗?你能在decodedString中生成
100
?仅仅写“是”或“否”可能会产生误导。@Steve:谢谢
BigInteger
修复了我的问题。请将此作为答案添加,而不是将解决方案保留在注释中。它还有助于提高您的声誉。:-)@加里亚尼
public static void Main()
{
    ///<summary>Encoded String- Checking divisibility</summary>
    Console.WriteLine("Enter Lowercase Latin letters ( 'a'-'i' )");
    string originalString = Convert.ToString(Console.ReadLine());
    bool chkValue = Regex.IsMatch(originalString, @"^[a-i]+$");
    if(!chkValue)
    {
        return;
    }
    char[] originalchars = originalString.ToCharArray();
    long decodedNumber=0;
    StringBuilder decoded = new StringBuilder();
    //int stringLength = originalString.Length;
    for (int i = 0; i < originalchars.Length; i++)
    {
        decoded.Append(Convert.ToInt32(originalchars[i] - 96));
    }
    Console.WriteLine(decoded);

    string decodedString = decoded.ToString();
    bool parseResult = long.TryParse(decodedString ,out decodedNumber);

    if (parseResult == true)
    {
        if (decodedNumber % 6 == 0)
            Console.WriteLine("YES");
        else
            Console.WriteLine("NO");
    }
    Console.ReadLine();
}