有关对字符串的处理,需要用到List时的简化写法
这是项目中的需要根据ComputerName来获取IP的一个方法,如果出现多个ComputerName,需要将多个ComputerName的字符串以“;”分开,传进方法中,然后再处理不同的Name,然后再获取不同Name的IP值,我原来的写法如下:
private static string GetIPAddressFromMachineName(string machineNames)
{
if (machineNames.Trim().EndsWith(";"))
{
machineNames = machineNames.Trim();
machineNames = machineNames.Remove(machineNames.LastIndexOf(';'), );
}
string result = "";
string[] ipadresses;
try
{
#region old
string[] machineName = machineNames.Split(';');
ipadresses = new string[machineName.Length];
for (int i = ; i < machineName.Length; i++)
{
if (machineName[i].Trim() != "")
{
IPHostEntry ipHose = Dns.GetHostEntry(machineName[i].Trim());
if (ipHose.AddressList[].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
ipadresses[i] = ipHose.AddressList[].ToString();
}
else if (ipHose.AddressList[].AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
{
ipadresses[i] = ipHose.AddressList[].ToString();
}
}
}
result = String.Join(",", ipadresses);
#endregion
} catch (Exception)
{
result = "Error";
} return result;
}
Old
我们头儿给的建议写法如下:
private static string GetIPAddressFromMachineName(string machineNames)
{
if (machineNames.Trim().EndsWith(";"))
{
machineNames = machineNames.Trim();
machineNames = machineNames.Remove(machineNames.LastIndexOf(';'), );
}
string result = "";
try
{
#region new
foreach (string machineName in machineNames.Split(";".ToArray()).ToList())
{
if (machineName.Trim() != "")
{
IPHostEntry ipHose = Dns.GetHostEntry(machineName.Trim());
if (ipHose.AddressList[].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
result += "," + ipHose.AddressList[].ToString();
}
else if(ipHose.AddressList[].AddressFamily==System.Net.Sockets.AddressFamily.InterNetworkV6)
{
result += "," + ipHose.AddressList[].ToString();
}
}
}
if (result.StartsWith(","))
{
result = result.Remove(, );
}
#endregion
} catch (Exception)
{
result = "Error";
} return result;
}
New
记录每一次的成长~~~
有关对字符串的处理,需要用到List时的简化写法的更多相关文章
- IE6/7/8中parseInt第一个参数为非法八进制字符串且第二个参数不传时返回值为0
JavaScript中数字有十进制.八进制.十六进制.以"0"开头的是八进制,"0x"或"0X"开头的是十六进制. parseInt用来把字 ...
- IOS--当字符串返回的数据格式为xml/html时
今天一来办公室就接到客户返回的BUG,其中一个是因为后台返回的字符串中的数据为xml/html格式. 后来经过百度,发现了两种解决方法,第一种是使用webView,webView中专门为了这种情况准 ...
- unittest之三:字符串与列表的相互转换与分离数据时的应用
一.分离数据时,需读取文档中存储的数据,但TXT文件的数据读取出来的类型为列表,而测试用例中断言的时候验证的是字符串,所以需要将列表转为字符串 #1字符串————>列表 str1='hello ...
- 去掉字符串中的空格 JS JQ 正则三种不同写法
<script> function trim(str) { return str.replace(/(^\s*|\s*$)/g, "") } console.log(t ...
- 【python】 字符串转小写(含汉字等时仍work)
def mylower(str): outstr = ""; strlen = len(str); idx = 0; while idx < strlen: if ord(s ...
- Node.js入门笔记(4):文件系统(fs)
文件系统(FileSystem) 文件系统模块 对于文件无外乎创建修改添加. File System - 文件系统模块 - require('fs') fs模块是核心模块,需要使用require导入后 ...
- Lua学习笔记2. lua变量和 循环
1. lua中变量的作用域有三种:全局,局部,表中的域 需要注意的是默认的变量都是全局变量,必须声明为local的变量才是局部变量,即使是在函数里面没有使用local修饰的变量依然是全局变量!!!! ...
- 【转】string.Format对C#字符串格式化
转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...
- Android InputStream接收 字符串乱码 问题
各个国家和地区所制定的不同 ANSI 编码标准中,都只规定了各自语言所需的“字符”.比如:汉字标准(GB2312)中没有规定韩国语字符怎样存储.这些 ANSI 编码标准所规定的内容包含两层含义:1. ...
随机推荐
- Java 收集的代码 transient
public class Main { public static void main(String[] args) { ((NULL)null).haha(); } } class NULL { p ...
- .Net Framework 4.5.2 on Windows 10
I was using Visual Studio 2013 to create a new solution, could not select ".NET Framework 4.5.2 ...
- Git随记
gulp 打包 把dist下的提交到构建环境 git status 看哪些发生了变化 git add . 添加当前文件夹下的文件 git commit -am "change file&qu ...
- 树形DP 2013多校8(Terrorist’s destroy HDU4679)
题意: There is a city which is built like a tree.A terrorist wants to destroy the city's roads. But no ...
- escape()、encodeURI()、encodeURIComponent() difference
escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编 ...
- Python学习总结2:raw_input() 与 input()
参考http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html 1. 输入数据要求 raw_input() 直接读取控制台的 ...
- 构造方法特点,void
构造方法特点: 1.和类有相同的名字 2.无返回值 3.被默认强制void void作用:====>>说明声明的方法没有返回值 构造方法作用: -->初始化实例属性 -->用于 ...
- paper 84:机器学习算法--随机森林
http://www.cnblogs.com/wentingtu/archive/2011/12/13/2286212.html中一些内容 基础内容: 这里只是准备简单谈谈基础的内容,主要参考一下别人 ...
- logstash中的redis插件
redis作为logstash中的官方broker,既有input插件,还有output插件. redis input插件 data_type属性: 有三种类型, list -> BLPOP - ...
- 夺命雷公狗—angularjs—5—ng-switch的用法实现下拉更换板块的实现
这个方法一般都会是和别的块状元素进行绑定同时使用的,废话不多说,直接上代码: <!doctype html> <html lang="en"> <he ...