字符串、值类型引用类型

1.对字符串的一些操作

(1)判断空字符串

string msg = null;
if (msg == "")
if (string.IsNullOrEmpty(msg))
if(msg.length == 0)


(2)把字符串转成大写

            // 字符串修改完毕后必须接收返回值,因为字符串具有不可变性。无法直接修改原来的字符串。
            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("类型转换失败!");
    }

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值