zoukankan      html  css  js  c++  java
  • 关于字符串的一些学习

    C# 字符串 string 是一个引用类型, 声明一般有两种  

    1 直接赋值 例:String str="123";

    2.使用构造器赋值 例:String str=new String("123");

    字符串属于不可变量,任何修改都会生成一个新的。当它声明后程序就会记忆它,下次使用时就不会再次划分内存,例:string s="123"; string s2=s1;

    其实在内存中应该是只生成了一个内存空间。

    string 的构造函数一共有以下几种

    1. string (char c,int count); 生成数量为count的由c组成的字符串 例:string str=new string('c',2); 结果为同 string str="cc";

    2.string(char[] c); 将字符数组转为字符串,例:string str=new string(new char[]{'1','2'});结果等同 string str="12";

    3.string(char[] c,int start,int length); 将字符数组中部分元素拼成字符串 例:string str=new string(new char[]{'1','3','4'},0,2); 结果等同 string str="13";

    4.一些其他的用法,比如用到了指针,这种常用,小编自己也没怎么用过,就暂不介绍了

    在string类中有一个静态属性,string.Empty 即空字符串,表示不含任何字符,也不是null,它是一个常量,

    大概介绍下空字符串和null的区别

    1.空字符串是一个长度为0的字符串,null表示没有长度,string s=null; s.length 会抛出异常

    2.空字符串可以调用字符串的所有方法,null只能调用部分

    3.空字符串已经指向内存中的地址,null是没有指向的。

    那么如何判断呢?

    string.isNullorEmpty(str)

    关于两个字符串的比较我们看下例

    string a="123";

    string b="1";

    b+="23";

    a==b 是成立的,表示值相同,object.referenceEquals(a,b) 是不同的,他们只是值相同,但不会指向同一实例

    因字符串是包含任意字符文本的,所有其也包含转义序列,如:string str=" "; 表示换行,等等...

    有写字符是不需要转义的,需要以@开头,例:@”c:windows“ 

  • 相关阅读:
    翻硬币
    排队打水问题
    连续邮资问题
    Linux-AWK命令
    SpringInAction第五章总结 使用配置属性
    SpringInAction 第四章笔记 保护Spring
    SpringInAction第三章笔记 --使用数据
    SpringInAction第二章笔记
    SpringInAction第一章笔记
    SpringBoot启动任务
  • 原文地址:https://www.cnblogs.com/long11310/p/12837176.html
Copyright © 2011-2022 走看看