StringBuilder 学习笔录
当我们要处理动态的字符串时候,使用String显然力不从心。
StringBuilder也称 字符串数组,动态的改变内容.
下面的代码是将128到xfff对应Unicode编码的字输出显示
StringBuilder s = new StringBuilder(0xffff * 3);
for (int i = 128; i < 0xffff; i++)
{
if (i % 50 == 0)
s.Append("\r\n");
s.AppendFormat("{0,3}", (char)i);
}
textBox1.Text = s.ToString();
}
下面是关于服务器信息配置文件,也用到了StringBuilder,代码如下:
public static bool SaveConfigServer(string ipadd, string port)
{ //保存服务器名和端口
try
{
StringBuilder str = new StringBuilder();
string ConfigFileUrl = "config/ipConfig.dat";
str.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><server>");
str.Append("<ip>" + ipadd + "</ip>");
str.Append("<port>" + port + "</port>");
str.Append("</server></root>");
StreamWriter save = new StreamWriter(ConfigFileUrl);
save.Write(str.ToString());
save.Close();
return (true);
}
catch
{
return (false);
}
}
连接数据库字段的config方法:
public static bool SaveConfigDate(string ip, string database, string uid, string pwd)
{ //保存数据库连接地址
try
{
StringBuilder str = new StringBuilder();
string FileUrl = "config/dataConfig.dat";
str.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><server>");
str.Append("<ip>" + ip + "</ip>");
str.Append("<database>" + database + "</database>");
str.Append("<uid>" + uid + "</uid>");
str.Append("<pwd>" + pwd + "</pwd>");
str.Append("</server></root>");
StreamWriter save = new StreamWriter(FileUrl);
save.Write(str.ToString());
save.Close();
return (true);
}
catch
{
return (false);
}
}
读取config里的节点:
public static string GetValueByNode(string XmlFile, string NodePath)
{ //读取结点内容
if (File.Exists(XmlFile))
{
XmlDocument SerInf = new XmlDocument();
SerInf.Load(XmlFile);
XmlNode FirstNode = SerInf.SelectSingleNode(NodePath).FirstChild;
return (FirstNode.InnerText);
}
else
{
return ("-1");
}
}
注:
StringBuilder.Append:在此实例的结尾追加指定对象的字符串表示形式。
StreamWriter.Write:写入流
File.Exists:确定指定的文件是否存在
XmlDocument:xml文档
XmlDocument.Load :加载指定的 XML 数据。
SelectSingleNode(XPath):选择匹配 XPath 表达式的第一个 XmlNode
XmlNode:表示 XML 文档中的单个节点
XmlNode.FirstChild :获取节点的第一个子级。
XmlNode.InnerText:获取或设置节点及其所有子节点的串联值。