首页 技术 正文
技术 2022年11月14日
0 收藏 909 点赞 2,262 浏览 1966 个字

调用getRandomIp()方法即可
Framework3.5 +使用LINQ

public string getRandomIp()
{ /*
int[][]
这个叫交错数组,白话文就是数组的数组.
初始化的方法:
int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
当然也可以使用{}初始化器初始化
int[][] numbers = { new int[] {2,3,4},
new int[] {5,6,7,8,9}
};
*/
int[][] range = {new int[]{,},//36.56.0.0-36.63.255.255
new int[]{,},//61.232.0.0-61.237.255.255
new int[]{,},//106.80.0.0-106.95.255.255
new int[]{,},//121.76.0.0-121.77.255.255
new int[]{,},//123.232.0.0-123.235.255.255
new int[]{-,-},//139.196.0.0-139.215.255.255
new int[]{-,-},//171.8.0.0-171.15.255.255
new int[]{-,-},//182.80.0.0-182.92.255.255
new int[]{-,-},//210.25.0.0-210.47.255.255
new int[]{-,-}, //222.16.0.0-222.95.255.255
}; Random rdint = new Random();
int index = rdint.Next();
string ip = num2ip(range[index][] + new Random().Next(range[index][] - range[index][]));
return ip;
} /*
* 将十进制转换成ip地址
*/
public string num2ip(int ip)
{
int[] b = new int[];
string x = "";
//位移然后与255 做高低位转换
b[] = (int)((ip >> ) & 0xff);
b[] = (int)((ip >> ) & 0xff);
b[] = (int)((ip >> ) & 0xff);
b[] = (int)(ip & 0xff);
x = (b[]).ToString() + "." + (b[]).ToString() + "." + (b[]).ToString() + "." + (b[]).ToString(); return x;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApplication1
{
class Program
{
static Dictionary<int, int> ips = new int[][]
{
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray()
}.SelectMany(x => x).Select((x, i) => new { x, i }).ToDictionary(x => x.i, x => x.x); static string IpToString(int IP)
{
return string.Join(".", BitConverter.GetBytes(IP).Reverse().Select(x => ((int)x).ToString()));
} static int GenIP()
{
return ips[new Random(Guid.NewGuid().GetHashCode()).Next(, ips.Count)];
} static void Main(string[] args)
{
for (int i = ; i < ; i++)
Console.WriteLine(IpToString(GenIP()));
}
}
}

加了比较不容易理解部分的注释..想弄明白的同学想必现在已经明白了吧

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,493
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,133
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,297