1.对字符串的一些操作
(1)判断空字符串
string msg = null;
if (msg == "")
if (string.IsNullOrEmpty(msg))
if(msg.length == 0)
// 字符串修改完毕后必须接收返回值,因为字符串具有不可变性。无法直接修改原来的字符串。
msg = msg.ToUpper();
(3)判断两个字符串是否相同
//if (s1==s2)
if (s1.Equals(s2))
msg.LastIndexOf("天安门");表示字符串中最后一个‘天安门’的索引位置
(4)截取字符串
<span style="white-space:pre"> </span> string msg = "听说过小阿猛吗?";
string name= msg.Substring(3, 3);//substring(n,m)n,m表示起始位置和结束位置
<span style="font-family: Arial, Helvetica, sans-serif;">(5)删除字符串中某一字符</span>
用Split
string msg = "乔丹|科比|姚明||||||||小龟";
string[] names = msg.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string full = string.Join("====>", names);
(5)拼接字符串
1>可直接用string +=拼接
string s = "Who";
string s1 = "are";
string s2 = "you";
s += s1;
s += s2;
2>用StringBuilder
StringBuilder sb = new=StringBuilder;
sb.Append("Who");
sb.Append("are");
sb.Append("you");
3>format拼接
string msg = string.Format("我叫{0}今年{1}岁了。", "张胜利", 90);
4><span style="color: rgb(43, 145, 175); font-family: Arial, Helvetica, sans-serif;">StringJoiner </span>
StringJoiner s = string.Empty; s += "Who"; s += "are"; s += "you";另外可以用Replace把字符串中的某内容改为另一些内容
<span style="font-family:Arial, Helvetica, sans-serif;">将字符串倒序:</span>
<span style="font-family:Arial, Helvetica, sans-serif;">string msg = "abcdefg";
msg = MyReverse(msg);
</span>
2.值类型和引用类型
值类型,存储在栈内存中
值类型包含:int short byte char bool double float struct enum decimal等
引用类型存在于堆内存中</span>
包含: string 数组 类 接口 委托
值传递,传递的是栈中的内容,(对于值类型,栈中的内容就是对应的数据。对于引用类型栈中内容就是对象的地址)
引用传递,传递的是栈本身的地址,多个变量名实际上指向的是同一个栈变量。
引用传递必须使用ref关键字修饰。在方法调用的时候传递参数的时候也必须加ref 关键字
代码在04
<span style="font-family:Arial, Helvetica, sans-serif;">
</span>
</pre><p>类型转换</p><p></p><pre name="code" class="csharp">string msg = "123";
int n = (int)msg;
//
string msg = "123";
int n = Convert.ToInt32(msg);
///把字符串转为数字类型//
string msg = "12345";
int n = int.Parse(msg)
/
bool b = int.TryParse(msg, out n);
if (b)
{
Console.WriteLine(n);
}
else
{
Console.WriteLine("转换失败!");
}
<pre name="code" class="csharp"> class Person
{
}
class Chinese : Person
{
}
class HeBeiRen : Chinese
{
}
class BaoDingRen : HeBeiRen
{
}
class DingZhouRen : BaoDingRen
{
}
Person p = new DingZhouRen();
DingZhouRen dzr = p as DingZhouRen;
if (dzr != null)
{
Console.WriteLine("ok");
}
else
{
Console.WriteLine("类型转换失败!");
}