技术笔记:字符串、List、数组、日期等常见操作方法

string类
string s="ABC科学";int i=s.IndexOf("科");//字符串的搜索。
int n=string.Compare(s1,s2);//n=0则两个相同。n< 0,则s1 < s2。
string s="取得成功!";char sb=s[0];//sb="取"
s.remove(0,2);//从索引为0开始删除2个字符
s.Insert(0,"我");//我取得成功!
s.Replace("取","获");//我获得成功!
s.Trim();//删除首、尾的空格


//替换(忽略大小写)
string localPath=@"d:\a\1.txt";
string targetPath=@"e:\data";
string sourcePath=@"d:\a";
string serverPath = Regex.Replace(
							localPath.Replace("\\", "≡"),
							(sourcePath.TrimEnd('\\') + "\\").Replace("\\", "≡"),
							(targetPath.TrimEnd('\\') + "\\").Replace("\\", "≡"),
							RegexOptions.IgnoreCase
						).Replace("≡", "\\");//目标服务器文件绝对路径


string s = "a-b-c";
string[] ar = s.Split('-');
string v = "ac---b1---c2---d2";
string[] r = v.Split(new string[] { "---" }, StringSplitOptions.None);//“---”作为分隔符
string[] r3 = DateTime.Now.ToString().Split(new char[] { '.', ':', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);//分割日期
string[] r2 = DateTime.Now.ToString().Split('.', '-', ':');//传可变参数,实现分割日期

/*string.Join将集合拼接成有特定分隔的字符串*/
 List<string> list = new List<string>(){"1","2","3"};
 string.Join(" and ", list);//返回:1 and 2 and 3(list也可以是数组)

/*数组中是否存在某个值,第一种方法*/
int[] ia = {1,2,3};
int id = Array.IndexOf(ia,2); //返回2的值索引(“-1”则不存在)

/*数组中是否存在某个值,第二种方法*/
string[] strArr = {"a","b","c","d","e"};
bool exists = ((IList<string>)strArr).Contains("a");// true则存在

string str = "";
bool s=string.IsNullOrEmpty(str);//是否为null or empty(空格时则false)
bool l=string.IsNullOrWhiteSpace(str);//是否为null or empty or 空格(包含上面方法的作用,【推荐使用】)

str.IndexOf('t');
str.IndexOf("test");
str.LastIndexOf('t');
str.LastIndexOf('t');
char[] char1={'a','b','c'};
str.IndexOfAny(char1);//返回第一次出现数组中字符的位置
str.StartsWith("http");//开头是否与指定的字符串匹配
str.Contains("com");//子串是否出现在字符串中

  • C# String.Join 方法
  • 有这样场景,要把string a=""转成数字,并且a就有两种可能a=""或大于0的数字串,我们采用int.Parse("0"+a)方式转换就可避免空字符转数字发生异常的问题。
  • string类方法梳理:

增删内容:Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 、 TrimStart
拼接:Concat 、 Join
特定字符串存在索引:IndexOf、IndexOfAny、LastIndexOf 、 LastIndexOfAny
是否包含特定字符串:Compare、CompareOrdinal、CompareTo、Equals、EndsWith 、 StartsWith

List类

这里写图片描述
文字版:

  • List常用的方法
List<int> List01 = new List<int>(10) ; //List 类型声明 
for (int i=1 ; i < 10 ;i++ ) 
	List01.Add(i); //List集合中添加元素 
List<int> List02 = new List<int>(); 
for (int i = 1 ; i < 5 ; i++ ) 
	List02.Add(i + 100);// List 集合中添加元素 
List01.Insert(1 , 8 ) ; //在索引为 1 的位置插入元素88
List01.InsertRange (8 , List02 ) ; //在在索引为 s 的位置插入 List02
bool b = List01.Contaions(5);//判断 List01是否包含值等于5的元素
List01.IndexOf(3);//在 List01 中检索第一次出现 3 的索引值 
List01.LastIndexof (8 ) ; //在 List01 中检索最后一次出现8的索引.
List01.Find(item => item >5);//在List01 中检索第一个大于5的索引。
List01.FindLast(item => item > 5 )//在List01 中检索最后一个大于5的索引。
List02 = List01.FindAll(item => item >5) ;//在 List01 中检索所有大于 5 的元紊 
List01.FindIndex(item = > item> 5 );//在List01 中检索第一个大于5的索引。
List01.FindLastIndex(item=>item>5);//在List01 中检索最后一个大于5的索引。
  • 数组赋值给List集合:
int[] numStr={1,2,3};
List<int> list1=new List<int>(numStr);
数组

这里写图片描述

DateTime

这里写图片描述

  • 日期类型可用>比大小,-求时间差:
DateTime d1=DateTime.Parse("2019-03-24 10:35");
DateTime d2=DateTime.Parse("2019-03-23 10:35");
Console.WriteLine(d1>d2);//true(比较日期大小)
Console.WriteLine(d1-d2);//1.00:00:00 (两天的差 “x天x时x分x秒”)
TimeSpan span=d1.Subtract(d2);//1.00:00:00 (两天的差 “x天x时x分x秒”)
  • 数字

C#保留2位小数,(1.29922).ToString("f2")(1.29922).ToString("0.00") ,都返回“1.30”而且四舍五入哟!更多“ToString用法

路径
this.GetType().Assembly.Location  //返回当前aspx页面编译成的dll文件路径,如:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6e42fc95\44752f87\App_Web_dmuclngz.dll 
Server.MapPath("Login1.aspx")  //返回文件物理路径 E:\00Code\Login1.aspx
AppDomain.CurrentDomain.BaseDirectory.ToString() //返回文件物理路径不含文件本身 E:\00Code\
Path.GetTempPath() //返回系统临时文件夹路径 C:\WINDOWS\TEMP\ 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值