写一字符串包括字母和数字(例I0035290K000),转换成ASSCLL码值,使之累加[

解决方案 »

  1.   

    string s = "I0035290K000";
    int checksum = s.Select(x => (int)x).Sum();
      

  2.   

    转换I的ASSCLL值,0对应的ASCLL值依次类推,使他们的值相加
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string s = "I0033178K1000C";
                int checkcode = s.Select(x => (int)x).Sum();
                Console.WriteLine(checkcode);
            }
        }
    }
      

  4.   

    不需要用什么所谓「库函数」,.NET3.0以上支持Linq的就行,参考1楼的代码。另外,ASCII这才5个字母的缩写都记错了,建议有空补下英语。。
      

  5.   

      private string toBCC()
            {
                string restring = textBox1.Text;
                char[] by = restring.ToCharArray();            int bcc = 0;
                for (int i = 0; i < by.Length; i++)
                {
                    bcc += (int)by[i];                bcc = bcc % 256;            }
                int result = Convert.ToInt32(bcc) ^ 135;
                byte[] data = new byte[1];
                data[0] = Convert.ToByte(result);
                restring += ByteArrayToHexString(data);
                textBox3.Text=restring;            return restring.Trim();                    }
    一楼的是可以,但我自己写的这个你们看一下?我吧输入放到textbox1中,在textbox3中输出,你们给看一下
      

  6.   

    本帖最后由 caozhy 于 2012-09-04 09:56:12 编辑
      

  7.   

    你不是说1楼的可以嘛。1L的代码不报错?
    如果你使用C# 2.0或者1.0,你的代码就是我的代码的非LINQ等价形式。
      

  8.   

    我在窗体中执行不可以,”string“不存在select定义,需要添加什么引用!!
      

  9.   

    using System.Linq;记得必须C# 3.0以上才支持。
      

  10.   


    这种方法最简单:先引用 System.Linq;            string test = "I0033178K1000C";
                int sum = test.Select(o => (int)o).Sum();
      

  11.   

    在窗体中不存在using System.Linq;
    你们执行一下试试,我在控制台执行是可以的
      

  12.   

    Linq 都玩的很溜啊。 我的思路是String.ToCharrArray  (int)char+=
      

  13.   

    我要给caozhy
    满分你太强了
      

  14.   

    3.0以上支持linq和那什么表达式,如果版本低,就用老方法