字符串操作
String.Substring()
//格式 String.Substring(int beginIndex) String.Substring(int beginIndex,int endIndex) //示例 string str_new=str.Substring(6,2):表示从str中截取位置为6的字符开始长度为2的字符串,6表示子字符的起始位置,2表示子字符的字符长度。
其他方法
//格式
int indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
int lastIndexOf(String str) 返回在此字符串中最右边出现的指定子字符串的索引。
int lastIndexOf(String str, int fromIndex) 从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
int length() 返回此字符串的长度。
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
boolean startsWith(String prefix, int toffset) 测试此字符串是否以指定前缀开始,该前缀以指定索引开始。
//示例
str.Substring(0,str.LastIndexOf(","));
参考资料
http://www.blogjava.net/AndyZhang/archive/2012/04/25/376614.html http://www.cnblogs.com/rocblog/archive/2013/05/07/3064593.html http://www.cnblogs.com/Deckard/archive/2009/06/03/1495452.html
日期时间处理
C#正则表达式判断输入日期格式是否正确
/// <summary> /// 是否为日期型字符串 /// </summary> /// <param name="StrSource">日期字符串(2008-05-08)</param> /// <returns></returns> public static bool IsDate(string StrSource) { return Regex.IsMatch(StrSource, @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$"); }
/// <summary> /// 是否为时间型字符串 // </summary> /// <param name="source">时间字符串(15:00:00)</param> /// <returns></returns> public static bool IsTime(string StrSource) { return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$"); }
/// <summary> /// 是否为日期+时间型字符串 /// </summary> /// <param name="source"></param> /// <returns></returns> public static bool IsDateTime(string StrSource) { return Regex.IsMatch(StrSource, @"^(((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$ "); }
C#利用线程、委托,实时显示时间
#region 运行时显示实时时间
new Thread(() =>
{
while (true)
{
try
{
labelTime.BeginInvoke(new MethodInvoker(() => labelTime.Text = DateTime.Now.ToString()));
}
catch (Exception)
{
}
Thread.Sleep(1000);
}
})
{ IsBackground = true }.Start();
#endregion
C#中无法引用自己创建的类库中的类
问题描述
新建一个类,定义了一些方法,在外部引用该类时,不能引用。
解决办法
1.检查类前面有没有添加加或使用public。 2.类中定义的方法也应该是public类型的 3.改完之后将该类库重新生成一次 4.注意类名不要与系统保留字冲突
参考资料
https://www.ezloo.com/2008/10/classlibrary_visited.html
获取指定范围的n个随机数
#region 随机数获取
/**
* 获取规定范围内的n个随机数
*
* min_value int 随机数下限
* max_value int 随机数上限
* number int 随机数量
*/
private string getRandom(int min_value, int max_value, int number)
{
Random random = new Random();
ArrayList arr = new ArrayList();
int temp = 0;
for (int i = 0; i < number; i++)
{
temp = random.Next(min_value, max_value); //随机取数
arr.Add(temp);
}
string str = "";
for (int j = 0; j < arr.Count; j++)
{
str += arr[j].ToString() + ",";
//Console.Write(arr[j].ToString());
}
return str.Substring(0, str.LastIndexOf(","));
}
#endregion
DataTable 序列化
/// <summary> /// 序列化DataTable成XML /// </summary> /// <param name="dt"></param> /// <returns></returns> private static string SerializeDataTableToXml(DataTable dt) { StringBuilder strBuilder = new StringBuilder(); XmlWriter writer = XmlWriter.Create(strBuilder); XmlSerializer serializer = new XmlSerializer(typeof(DataTable)); serializer.Serialize(writer, dt); writer.Close(); return strBuilder.ToString(); }
/// <summary> /// 序列化XML成DataTable /// </summary> /// <param name="xml"></param> /// <returns></returns> private static DataTable SerializeXmlToDataTable(string xml) { StringReader strReader = new StringReader(xml); XmlReader xmlReader = XmlReader.Create(strReader); XmlSerializer serializer = new XmlSerializer(typeof(DataTable)); DataTable dt = serializer.Deserialize(xmlReader) as DataTable; return dt; }
DMWebSvrSoapClient dmwss = new DMWebSvrSoapClient(); DateTime date = DateTime.Now; string dataStr1 = dmwss.GetVehicleInfo_Month(date.ToString("yyyy-MM-dd")); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(dataStr1); XmlNodeList xnList = xmldoc.SelectNodes("//DocumentElement/list"); foreach (XmlNode xn in xnList) { ListViewItem item = new ListViewItem(xn["time"].InnerText); item.SubItems.Add(xn["in_vehicle_count"].InnerText); item.SubItems.Add(xn["out_vehicle_count"].InnerText); listView.Items.Add(item); }
参考资料
http://stackoverflow.com/questions/6402596/xml-string-to-xml-document https://zhidao.baidu.com/question/574030822.html https://msdn.microsoft.com/en-us/library/hcebdtae(v=vs.110).aspx