手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#之IP地址和整数互转的小例子
C#之IP地址和整数互转的小例子
摘要:源码:复制代码代码如下:[StructLayout(LayoutKind.Explicit)]publicstructIP{publicIP...

源码:

复制代码 代码如下:

[StructLayout(LayoutKind.Explicit)]

public struct IP

{

public IP(UInt32 value)

{

this._text1 = 0;

this._text2 = 0;

this._text3 = 0;

this._text4 = 0;

this._value = value;

}

public IP(Byte text1, Byte text2, Byte text3, Byte text4)

{

this._value = 0;

this._text1 = text1;

this._text2 = text2;

this._text3 = text3;

this._text4 = text4;

}

[FieldOffset(0)]

private UInt32 _value;

[FieldOffset(0)]

private Byte _text1;

[FieldOffset(1)]

private Byte _text2;

[FieldOffset(2)]

private Byte _text3;

[FieldOffset(3)]

private Byte _text4;

public UInt32 Value

{

get { return this._value; }

set { this._value = value; }

}

public Byte Text1

{

get { return this._text1; }

set { this._text1 = value; }

}

public Byte Text2

{

get { return this._text2; }

set { this._text2 = value; }

}

public Byte Text3

{

get { return this._text3; }

set { this._text3 = value; }

}

public Byte Text4

{

get { return this._text4; }

set { this._text4 = value; }

}

public override string ToString()

{

return String.Format("{0}.{1}.{2}.{3}", this._text1.ToString(), this._text2.ToString(),

this._text3.ToString(), this._text4.ToString());

}

public static implicit operator IP(UInt32 value)

{

return new IP(value);

}

public static explicit operator UInt32(IP ip)

{

return ip._value;

}

}

测试:

复制代码 代码如下:

class Program

{

static void Main(string[] args)

{

IP ip = new IP(192,168,1,1);

Console.WriteLine(ip);

UInt32 value = (UInt32)ip;

Console.WriteLine(value);

Console.WriteLine(ip.Value);

IP ip2 = (IP)(1234567);

Console.WriteLine(ip2);

Console.ReadKey();

}

}

【C#之IP地址和整数互转的小例子】相关文章:

c# 泛型类型参数与约束的深入分析

c# 图片加密解密的实例代码

C#中怎么将一个List转换为只读的

C# 执行bat批处理文件的小例子

C# 对MongoDB 进行增删改查的简单操作实例

C#栈和堆的区别浅谈

C# 委托(delegate) 的小例子

C#基础 延迟加载介绍与实例

C# 使用匿名函数解决EventHandler参数传递的难题

C# 将字节流转换为图片的实例方法

精品推荐
分类导航