文接上回
上回说到将姓氏和名字存放在字典中
这次我们要利用随机函数取得字典中的姓氏和名字 再利用字符串函数将姓氏和名字连接起来
好了 废话不多少 开始介绍
首先利用随机数得到姓氏和名字、性别(性别的随机数只用两个)、年龄 上笔记
// 先实例化一个随机数对象 r
Random r = new Random();
// 产生随机数
int num1 = r.Next(N); // 产生 0 ~ N-1 之间的一个随机数
int num2 = r.Next(M,N); // 产生 M ~ N-1 之间的一个随机数
得到随机数以后 在字典中就能根据随机键找对应的姓氏和名字
然后利用字符串处理函数连接姓氏和名字了 ok 上笔记
1.由字符数组 创建字符串 new String(chs) ↑
char[] chs = new char[] { '你', '好', '么', '?' };
String str = new String(chs)
Console.WriteLine(str);
2.重复字符生成字符串 new String('1', 10) ↑
string str = new String('1', 10);
Console.WriteLine(str);
3.将字符串转换为字符数组 ToCharArray ↑
string str = "123";
char[] chs = str.ToCharArray();
for (int i = 0; i < chs.Length; i++)
{
Console.WriteLine(chs[i]);
}
4.字符串的大小写转换 ToUpper / ToLower ↑
string str = "aBcDEfg";
string bigStr = str.ToUpper(); // 将字符串全部变为大写
string smallStr = str.ToLower(); // 将字符串全部变为小写
5.去掉首位的字符串 Trim / TrimStart / TrimEnd ↑
string str = " aBcDEfg***";
string str1 = str.Trim('*',' '); // 去掉首位的字符串
string str2 = str.Trim(); //默认无参的情况下 是去掉收尾的空格
string str11 = str.TrimStart(); //去掉开头的空格
string str22 = str.TrimEnd(); //去掉结尾的空格
6.字符串的比较(对字符串的Unicode码进行判断 返回int)Compare ↑
string str1 = "123";
string str2 = "123";
// if(str1>str2) 返回1
// if(str1==str2) 返回0
// if(str1
7. 判断两个字符串是否相等(对字符串的Unicode码进行判断 返回bool)Equals ↑
string str1 = "123";
string str2 = "123";
// if(str1==str2) 返回True
// if(str1!=str2) 返回True
// 不区分大小写比较两个字符串的大小(调用非静态的方法)
Console.WriteLine(str1.Equals(str2,StringComparison.OrdinalIgnoreCase));
// 不区分大小写比较两个字符串的大小(调用静态的方法)
string str1 = "1230";
string str2 = "123";
Console.WriteLine(string.Equals(str1,str2,StringComparison.OrdinalIgnoreCase));
8.字符串数组的分隔 返回字符串 Join ↑
string [] strs=new string[]{"梅西","卡卡","郑大世"};
string str=string.Join("/",strs);
//返回一个字符型
Console.WriteLine(str);
9.字符的分隔 返回字符数组 Split ↑
string str="你好,我叫,宋方舟,哈哈.";
string[] newStrs = str.Split(',', '.');
//返回一个字符串型
for (int i = 0; i < newStrs.Length; i++)
{
Console.WriteLine(newStrs[i]);
}
// 分隔非空的字符 (这种方法常用)
string[] strs = str.Split(new char[]{' ','.'},StringSplitOptions.RemoveEmptyEntries);
10.字符串的查找(屏蔽敏感词汇)Contains ↑
// 也可以查找char字符
string str = "你好 我是中国人";
if ( str.Contains("中国人") )
{
Console.WriteLine("含有敏感词汇");
}
11. 字符串的替换(和谐只用) Replace ↑
string str = "他是坏人";
string str1 = str.Replace("坏人", "??");
Console.WriteLine(str1);
12.查找字符串的位置 IndexOf ↑
string str = "2345613";
// 在字符串中查找指定的字符
Console.WriteLine(str.IndexOf('1'));
// 当字符串中没有包含要超找的字符时 输出-1
13.从指定的位置开始找字符的位置 IndexOf ↑
string str = "2145613";
// 在字符串第3的位置 查找指定的字符 前面的都忽略不计
Console.WriteLine(str.IndexOf('1',3));
// 当字符串中没有包含要超找的字符时 输出-1
14.找到字符串中所有要查找的字符 IndexOf ↑
string str = "012345612345613";
int index=0;
int num = 0;
for (int i = 0; i < str.Length; i++)
{
index = str.IndexOf('1', num); // 第一个指定字符的位置找到
if (index!=-1) // 当找到字符串时
{
Console.WriteLine(index);
num = index+1; // 从找到字符串的下一个位置开始查找
}
}
15.字符串的截取 Substring ↑
string str="1234560";
//从指定字符串截取到结束
string str1 = str.Substring(4);
Console.WriteLine(str1);
string str="1234560";
//从指定字符串截取指定数量的字符串
string str1 = str.Substring(1,3);
Console.WriteLine(str1);
16.字符串的插入 Insert ↑
string str = "123456";
// 在字符串的指定位置插入字符串
string str1 = str.Insert(3, "aa");
17.字符串的移除 Remove ↑
string str = "123456";
// 将字符串中指定位置到结尾的字符移除
string str1 = str.Remove(3);
string str = "123456";
// 将字符串中指定位置到结尾的字符移除 移除指定的数量
string str1 = str.Remove(3,1);
18.判断字符串的开始与结束(判断是不是以规定字符串开始或结束) StartsWith / EndsWith ↑
string str = "123456";
// 判断字符串是不是以字符串“123”开头 是返回True 否则返回Fasle
Console.WriteLine(str.StartsWith("123"));
string str = "123456";
// 判断字符串是不是以字符串“56”结尾 是返回True 否则返回Fasle
Console.WriteLine(str.EndsWith("56"));
19.格式化字符串(只要用于Console.WriteLine输出)Format ↑
string name="宋方舟";
int age=20;
char gender='男';
string str = string.Format("大家好我叫{0},今年{1}岁了,我是{2}生", name, age, gender);
Console.WriteLine(str);
20.字符串赋值为空 Empty ↑
string str = string.Empty();
string s = null;
21.字符串为空的判断 IsNullOrEmpty ↑
if (string.IsNullOrEmpty(str))
{
Console.WriteLine("s为空");
}
22.字符串的拼接 StringBuilder↑
StringBuilder sb = new StringBuilder(); //创建对象
sb.Append("123"); //拼接字符串
Console.WriteLine(sb.ToString());
//拼接后自动换行
sb.AppendLine("123");
Console.WriteLine(sb.ToString());
//格式化拼接
sb.AppendFormat("{0},{1},{2}", 1, 2, 3);
Console.WriteLine(sb.ToString());
23.实现MyIndexOf() 返回字符串中所有字符的位置(原创) MyIndexOf↑
static void Main(string[] args)
{
int charNum = 0;
string str = "safdsfdsfdsfds";
try
{
string nums = getArrayNumOfChar(str, 'q', out charNum);
Console.WriteLine("字符{0} 在字符串中一共有{1}个,位置分别是{2}", str, charNum, nums); // 返回结果
}
catch (Exception ex)
{
Console.WriteLine(ex.Message); // 没有找到就抛出异常
}
Console.ReadKey();
}
// 方法实现原理:遍历字符串 利用 IndexOf(string value,int starIndex); 方法找到位置 将位置ToString后放在string
// 数组中 同时计算找个字符的个数 如果找到字符个数是0 那么就抛出异常没有找到 否则返回字符串 同时去掉两边的空格
static string getArrayNumOfChar(string strs, char ch, out int charNumber) // 得到字符串中 指定字符的位置
{
charNumber = 0; // 存放字符的个数
int chIndex = 0; // 存放下一个字符从第几个开始查找
int num = 0; // 存放找到的位置
string[] chNums = new string[100]; // 存放字符串中所有的字符位置
for (int i = 0, j = 0; i < strs.Length; i++)
{
num = strs.IndexOf(ch, chIndex);
if (num != -1)
{
chNums[j++] = num.ToString(); // 将字符的位置放在数组中
chIndex = num + 1; // 从找到位置的下一个位置开始找
charNumber++; // 计算字符数量
}
}
if (charNumber==0) // 检测有没有要查找的字符串
{
throw new Exception(string.Format("字符串中没有要查找的字符{0}", ch)); // 没有找到 就抛出异常
}
return string.Join(" ", chNums).Trim(); // 返回字符串 并去掉两边的空格
}
24.Char和string之间的转换 ToCharArray ↑
string str="abc";
char[] ch = str.ToCharArray();
下一篇文章我会介绍 常用的sql语句 以及相关概念
(作者注释:由于我的笔记是.doc格式的 所有的标题都有超链接以及标题颜色 如果直接复制过来的话会有格式不支持的情况 为了统一 我在全部转换成了txt 所以会没有颜色 希望大家见谅)