深入C# String类

C#中的String类

他是专门处理字符串的(String),他在System的命名空间下,在C#中我们使用的是string

小写的string只是大写的String的一个别名(外号)使用大写和小写都是一样的

常用的字符串处理法

Java中常用的字符串处理方法?

1)  IndexOf:字符串的检索

a)         IndexOf(String s):重头开始检索

b)         IndexOf(String s,startString s):从startString开始检索

2)  获取长度:.length()

3)  判断.equals(参数)

4)  得到字符串的子字符

subString(参数)

subString(参数1,参数2)

https://www.cnblogs.com/ABook/p/5527341.html

C#提供的字符串比较的方法

1)  IndexOf:查找某个字符在字符串当中的位置

2)  subString:从字符串中截取子字符

3)  ToLower():转换成小写

4)  ToUpper():大写

5)  Time():去空格

6)  Equals():比较字符串值

If(name == “”)                    地址

If(name.Equals(String.Empty))值

“”和Empty的区别?

If(name == “”)                              分配一个长度为空的存储空间

If(name.Equals(String.Empty)) 不会分配存储空间

判断空字符串的三种写法?这三个的性能比较?

Name.Length ==0                      2

Name == String.Empty              1

Name == “”                                  3

7)  joi():链接字符串

8)  split():分割

获取邮箱用户名

需求:获取邮箱的用户名

兼用各种格式yes(YES)

循环执行

public void GetUserName()

{

string code;//用户选择

do{

this.PickNameFoemEmail();

Console.WriteLine("是否继续?yes/no");

code = Console.ReadLine();

code = code.Trim().ToLower();

}while(code.Equals("yes"));

}

public void PickNameFoemEmail()

{

string emsil;// 获取邮箱

string name;//获取用户名

Console.WriteLine("请输入邮箱:");

emsil = Console.ReadLine();

Console.WriteLine("你的邮箱是{0}:",emsil);

// 提取

int posion = emsil.IndexOf("@");

if (posion > 0)

{

name = emsil.Substring(0, posion);

Console.WriteLine("你的邮箱地址是:{0}", name);

}

else

{

Console.WriteLine("你的邮箱格式错误");

}

}

Class1 c = new Class1();

c.GetUserName();

Console.ReadKey();

连接分割字符串

Join     split

// 输入的字符串

string inputString;

// 分割后的字符串数组

string[] splitString;

// 连接后的

string joinString;

Console.WriteLine("请输入字符串,用空分开:");

inputString = Console.ReadLine();

splitString = inputString.Split(' ');

Console.WriteLine(@"\n分割后的:");

foreach (var item in splitString)

{

Console.WriteLine(item);

}

joinString = string.Join("+连接+",splitString);

Console.WriteLine("\n连接后的字符串:{0}",joinString);

@”\n转义符”:忽略掉

Format格式化(不是清除的意思)

String name = “Tom”;

Console.WritrLine(“我的名字:{0},我的年龄{1}”,name,22);

{x}占位符的方式去输出

string name;

string birthday;

int height;

string bloodType;

string planet;

string loveFood;

string record;

Console.WriteLine("欢迎来到“C#”的世界!");

Console.WriteLine("请输入你的个人信息,我将为你建立个人档案:");

Console.Write("姓名:");

name = Console.ReadLine();

Console.Write("出生年月:(*年*月*日):");

birthday = Console.ReadLine();

Console.Write("身高(cm):");

height = int.Parse(Console.ReadLine());

Console.Write("星座:");

planet = Console.ReadLine();

Console.Write("血型:");

bloodType = Console.ReadLine();

Console.Write("喜欢的食物:");

loveFood = Console.ReadLine();

record = string.Format("姓名:{0}\n出生年月:{1}\n身高:{2}\n星座:{3}\n血型:{4}\n喜欢的食物:{5}",name,birthday,height,bloodType,planet,loveFood);

Console.WriteLine("\n这是你的个人档案:");

Console.WriteLine(record);

Console.ReadKey();

Grammar:String myString = string.Format(“格式化字符串”,参数列表)

2 * 3 = 6

String myString = string.Format(“{0}乘以{1}等于{2}”,2,3 ,2 * 3);

如输出货币

语法:

格式字符串包括:固定文本和格式项

格式项

Console.WriteLine("{0}",50);

Console.WriteLine(String.Format("{0,-8:F2}",50));

Console.WriteLine(String.Format("{0,8:C2}", 50));

Format()方法的格式化字符串中各种格式化定义符和示例

1)  C:货币格式

2)  D十进制格式

3)  F小数点后固定位数

4)  用逗号隔开的数字

5)  百分比计数法

6)  十六进制格式

Console.WriteLine("{0}",String.Format("{0:C3}",3000));

Console.WriteLine("{0}",String.Format("{0:D3}",2000));

Console.WriteLine("{0}", String.Format("{0:F3}", 2000));

Console.WriteLine("{0}", String.Format("{0:N}", 230000));

Console.WriteLine("{0}", String.Format("{0:P3}", 0.921867357621));

Console.WriteLine("{0}", String.Format("{0:X000}", 12));

深入C# String类的更多相关文章

  1. 标准库String类

    下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...

  2. 自己实现简单的string类

    1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...

  3. C++ string类的实现

    c++中string类的实现 今天面试被考到了, 全给忘记了!!!   //string类的实现 #include <iostream> #include <string.h> ...

  4. String类的功能

    String类              标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...

  5. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  6. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  7. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  8. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  9. String类常用方法

    1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...

  10. 运用String类实现一个模拟用户登录程序

    package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...

随机推荐

  1. Linux 机器的渗透测试命令备忘表

    如下是一份 Linux 机器的渗透测试备忘录,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用. 系统信息命令 对于本地的枚举检查很有用. 基于 Redhat ...

  2. undefined reference to symbol' pthread_create@@GLIBC_2.2.5'

    我在ubuntu16.04上迁移工程,遇到了这个错误. pthread库不是Linux系统默认的库,链接时需要添加-pthread参数. 这里注意是链接那一步添加-pthread,而不是编译选项.

  3. 并查集和树的一些性质 hdu1325

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1325 题意是每次输入一对数字n,m表示一条树边,并且n是m的父亲,直到n==0&&m= ...

  4. POJ-2251.DungeonMaster(三维BFS)

    做题时需要注意,爬楼有向上和向下爬之分... 本题大意:输入 l, r, c, 分别代表地牢的楼层数和每层地牢的长和宽,地牢由rock and point and source and key组成,你 ...

  5. GIRDVIEW 控件绑定数据后 后台c#控制隐藏某列

    gv_EnterpriseInfo.DataSource = pageResult.Data; gv_EnterpriseInfo.DataBind(); 之后加判断条件: if (true) { g ...

  6. use crunch compression

    Crunch is a lossy compression format on top of DXTR texture compression. Textures will be converted ...

  7. 不包含数据和字母的Webshell

        在做php20中的challenge5时学习到了php中可代替数字和字母的符号,悲剧的是这道题没做出来,目前先整理知识点吧555555555555     情况是:很多时候在敏感地方WAF会阻 ...

  8. [剑指Offer]11-旋转数组的最小数字(二分查找)

    题目链接 https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba?tpId=13&tqId=11159&t ...

  9. Redis能干啥?细看11种Web应用场景[转]

    下面列出11种Web应用场景,在这些场景下可以充分的利用Redis的特性,大大提高效率. 1.在主页中显示最新的项目列表. Redis使用的是常驻内存的缓存,速度非常快.LPUSH用来插入一个内容ID ...

  10. python之格式化输出

    字符串格式化有两种方式,%和format 先介绍下%号的方法 #%s的语法结构,叫做占位符,就是先占一个位置,然后我们用真实的要显示的数据替换占位符即可#最简单的用法就是下面的方式,其实%s还有其他的 ...