美文网首页
c#类型转换

c#类型转换

作者: 朵耳 | 来源:发表于2019-08-26 09:04 被阅读0次

一:string转int

//两种转换方式
//如果字符串不是有效数值,则会抛出异常
int.Parse("Hello"); // 抛出异常
var i = int.Parse("1"); // 正常

var i = Convert.ToInt32((string) null); //无异常,返回: 0
Convert.ToInt32("hello"); //抛出异常
Convert.ToInt32("1"); //正常 

解决办法:封装一个工具类ParseInteger,让异常数据返回0

public static class ParseInteger
{
    /// <summary>
    /// 字符串转int
    /// </summary>
    /// <param name="intStr">要进行转换的字符串</param>
    /// <param name="defaultValue">默认值,默认:0</param>
    /// <returns></returns>
    public static int ParseInt(string intStr, int defaultValue = 0)
    {
        int parseInt;
        if (int.TryParse(intStr, out parseInt))
            return parseInt;
        return defaultValue;
    }
}

转自:https://www.cnblogs.com/geekworld/p/9430133.html

二:Hex16Byte 转 Hex16String

        /// <summary>
        /// 此方法用于将16进制的字节数组转换成16进制的字符串。
        /// </summary>
        /// <param name="_hex16Byte">要转换的16进制的字节数组。</param>
        /// <returns></returns>
        public static string Hex16ByteToHex16String(byte[] _hex16Byte)
        {
            string result = string.Empty;
            //如果字节数组不为空。
            if (_hex16Byte != null)
            {
                for (int i = 0; i < _hex16Byte.Length; i++)
                {
                    //将每一个字节数组转换成16进制string类型的字符串,用空格分隔开。
                    result += _hex16Byte[i].ToString("X2") + " ";
                }
            }
            return result;
        }

三:Hex16String 转 String

        /// <summary>
        /// 此方法用于将16进制的字符串转换成普通字符串。
        /// </summary>
        /// <param name="_hex16String">要转换的16进制的字符串。</param>
        /// <returns></returns>
        private static string Hex16StringToString(string _hex16String)
        {
            string result = string.Empty;
            //以空格分割字符串。
            string[] chars = _hex16String.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            //声明一个字节数组,其长度等于分割的字符串的长度。
            byte[] buffer = new byte[chars.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                //将chars数组中的元素转换成字节数组。
                buffer[i] = Convert.ToByte(chars[i], 16);
            }
            //将字节数组转换成字符串。
            result = System.Text.Encoding.UTF8.GetString(buffer);
            //返回。
            return result;
        }

相关文章

  • c# 学习笔记2

    C# 类型转换类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种...

  • C# Byte[]使用总结

    C# Byte[] string转换 01,C# string类型转成byte[]: Byte[] byteArr...

  • C#魔灵-lesson_04-数据转换

    类型转换分以下两种 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。 显式类型...

  • unity C# 自定义隐式转换

    在C#中类型转换类型:隐式转换(implicit conversions)隐式转换就是系统默认的、不需要加以声明就...

  • c# is & as

    做为C#里的类型转换操作符,is和as都是强制类型转换。 Difference is 类型检查,检查一个对象是否兼...

  • Python、JS、TS、C# 对比

    手头暂时没有C# 环境,以后会补全 内容\语言PythonJSTSC#强/弱类型强类型不可动态转换弱类型可动态转换...

  • C# 类型转换

    隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的...

  • 07.【转】C#中的as用法 &【原创】Revit中的转

    【转载内容】在程序中,进行类型转换是常见的事,C#支持基本的强制类型转换方法,例如: 这样强制转换的时候,这个过程...

  • C#的值类型和引用类型

    c#中值类型和引用类型是可以相互转换的。将值类型转化为引用类型的过程称为装箱,反之,将引用类型转换为值类型的过程称...

  • 10.18学习总结

    今天学习完了c#语言基础,包括类型转换(Parse和To string),装箱与拆箱(值类型和引用类型) ,...

网友评论

      本文标题:c#类型转换

      本文链接:https://www.haomeiwen.com/subject/pwwlectx.html