zoukankan      html  css  js  c++  java
  • 关于数据类型转换

    代码
    static void Main()
    {
    try
    {
    ArrayList array
    = new ArrayList();

    Console.WriteLine(
    "注入int类型的数据");
    int x = 12;
    array.Add(x);
    x
    = 14;
    array.Add(x);

    Console.WriteLine(
    " Object - INT");
    foreach (object obj in array)
    {
    int temp = 0;

    int.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }

    Console.WriteLine(
    " Object - LONG");
    foreach (object obj in array)
    {
    long temp = 0;

    long.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }

    Console.WriteLine(
    " INT ");
    foreach (int obj in array)
    {
    Console.WriteLine(
    "obj:{0} ", obj);
    }

    //Console.WriteLine(" LONG "); //--Error
    //foreach (long obj in array)
    //{
    // Console.WriteLine("obj:{0} ", obj);
    //}


    Console.WriteLine(
    "\r\n\r\n");
    Console.WriteLine(
    "注入long类型的数据");

    long y = 20;
    array.Add(y);
    y
    = 24;
    array.Add(y);

    Console.WriteLine(
    " Object - INT ");
    foreach (object obj in array)
    {
    int temp = 0;

    int.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }

    Console.WriteLine(
    " Object - LONG ");
    foreach (object obj in array)
    {
    long temp = 0;

    long.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }

    //Console.WriteLine(" LONG ");
    //foreach (long obj in array) //-- Error
    //{
    // Console.WriteLine("obj:{0} ", obj);
    //}

    //Console.WriteLine(" INT ");
    //foreach (int obj in array) //-- Error
    //{
    // Console.WriteLine("obj:{0} ", obj);
    //}


    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);
    }

    Console.ReadLine();
    }

    上面的代码不用说简单的很,如果单独的使用C#语言或者说是在数据类型明确的情况下、进行数据类型转换使用下面的这种方式也是没有太大问题的:

    代码
    Console.WriteLine(" INT ");
    foreach (int obj in array)
    {
    Console.WriteLine(
    "obj:{0} ", obj);
    }

    Console.WriteLine(
    " LONG");
    foreach (long obj in array)
    {
    Console.WriteLine(
    "obj:{0} ", obj);
    }


    但是如果是在额外的一些情况下:例如我遇到的利用Socket传输json, 对方发过来的数据 明明定义的是64位的,而我这里解析json时ArraryList里存放的数据却是32位的,唉…… 为了安全还是用下面的方式吧:

    代码
    Console.WriteLine(" Object - INT");
    foreach (object obj in array)
    {
    int temp = 0;

    int.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }

    Console.WriteLine(
    " Object - LONG");
    foreach (object obj in array)
    {
    long temp = 0;

    long.TryParse(obj.ToString().Trim(), out temp);

    Console.WriteLine(
    "obj:{0} ", temp);
    }


    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    三维偏序(陌上花开)
    【题解】洛谷P4735最大异或和
    【题解】CF#229 E-Gifts
    【题解】JXOI2017颜色
    【题解】SDOI2009Bill的挑战
    【题解】CF#960 H-Santa's Gift
    【题解】Atcoder ARC#85 E-MUL
    【题解】CF#1012 C-Hill
    【题解】CF#852 E-Casinos and travel
    【题解】Atcoder ARC#90 F-Number of Digits
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1895571.html
Copyright © 2011-2022 走看看