有关对字符串的处理,需要用到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. ...
随机推荐
- VMware设置共享文件夹
第一步:安装vmware-tools
- python eval
缘起 小例子 def test_1(val): print "val", val, type(val) def test_2(val): print ) if __name__ = ...
- 从零开始攻略PHP(8)——面向对象(下)
8.编写代码类 每个分离的函数可以执行一个明确的任务.任务越简单,编写与测试这个函数就越简单,当然也不要将这个函数分得太小——若将程序分成太多的小个体,读起来就会很困难. 使用继承可以重载操作.我们可 ...
- C++Primer 第十三章
//1.当定义一个类时,我们显示地或隐式地指出在此类型的对象(注意这里是此类型的对象,而不包括此类型的指针)拷贝,移动,赋值,销毁时做什么.一个类通过定义五种特殊的成员函数来控制这些操作:拷贝构造函数 ...
- lcd 图片
硬件平台:mini2440 软件环境:UCOS2 .ADS1.2 . LCD彩色图片转换工具BMP_to_H工具bmp2h LCD彩色图片转换工具BMP_to_H工具文件夹下的使用说明 在S3C241 ...
- Where does beauty come from?
One more question, rational beauty should come from a dedicated brain and mind. Should there be more ...
- [转]Eclipse Java注释模板设置详解
原文链接:http://blog.csdn.net/ahhsxy/archive/2009/09/11/4542682.aspx 设置注释模板的入口: Window->Preference-&g ...
- C#: 获取当前应用程序所在路径
ref: http://www.cnblogs.com/netlyf/archive/2011/06/22/2086718.html 一.获取当前文件的路径 string str1=Process.G ...
- C#: 集合
摘自http://www.cnblogs.com/kissdodog/archive/2013/01/29/2882195.html 先来了解下集合的基本信息 1.BCL中集合类型分为泛型集合与非泛型 ...
- java异常类
package shb.java.exception; /** * 测试异常类 * @Package:shb.java.exception * @Description: * @author shao ...