C#中的String类2

摘要:
在C#String类中,C#中的String类专门处理字符串。在System的命名空间下,在C#中,我们使用小写的字符串。小写字符串只是大写字符串的别名(昵称)。大写和小写都是相同的。使用==import常用字符串处理方法。Java中常用的字符串处理方法?If分配的存储空间长度为空StringIf为您提供了一个长度为空的空间,但未指定大小。如果不分配存储空间来判断空字符串?

                          深入C# String类

C#中的String类

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

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

Using  == import

常用的字符串处理法

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 == “a”)                                     分配一个长度为空的存储空间String

If(name == null)空                       给你一个空间,但大小不规定

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

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

Name.Length ==0                      2

Name == String.Empty              1

Name == “”                                  3

7)  join():链接字符串

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(@" 分割后的:");

foreach (var item in splitString)

{

    Console.WriteLine(item);

}

joinString = string.Join("---­",splitString);

 

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

@” 转义符”:忽略掉

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} 出生年月:{1} 身高:{2} 星座:{3} 血型:{4} 喜欢的食物:{5}",name,birthday,height,bloodType,planet,loveFood);

 

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

            Console.WriteLine(record);

 

            Console.ReadKey();

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

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)  N用逗号隔开的数字

5)  P百分比计数法

6)  X十六进制格式

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));

类型转换

为什么需要类型转换?

         不转就报错

简单的类型转换

Int 类型可以隐式的转换为float或double类型,float可以隐式的转换为double

double a = (double)float.Parse(Console.ReadLine());

double b = 12.0f;

显示转换

double num = 30.7;

int num1 = 10;

int sum;

sum = (int)num + num1;

Console.WriteLine(sum);

整数类型与字符串之间的转换

1,2,3,4,5,6,n

说的话,字符

隐式类型和显示类型一般都是值类型之间的转换,并不适用于值类型和字符串类型之间的转换

字符串转换为值类型?

int.Parse(Console.ReadLine());

要把字符串转换为值类型的时候,可以调用不同的数值类型的Parse()方法

Parse():解析

字符串转换为整形?

int.Parse(string);

 

float.Parse(string);

 

double.Parse(string);

注意:要转换的字符串必须是数字类型。

你能把20转成整形,你能把name转成

值类型转换为字符串类型?

同java一样ToString();

int age = 20;

string age1 = age.ToString();

Console.WriteLine(age1);

使用Convert类进行转换?

Convert.ToInt32();转换为int类型

Convert.ToSingle();单精度浮点

Convert.ToDouble();双精度

Convert.ToString();字符串

double myDouble = 20.66;

int myInt;

float myFloat;

string myString;

 

Console.WriteLine("转换前的double值为:{0}",myDouble);

 

myInt = Convert.ToInt32(myDouble);

myFloat = Convert.ToSingle(myDouble);

myString = Convert.ToString(myDouble);

 

Console.WriteLine("转换后:");

Console.WriteLine("int float string");

Console.WriteLine("{0} {1} {2}",myInt,myFloat,myString)

做个比较:

隐式类型转换:常用于数值之间的转换,取值范围小的数值类型转换为取值范围大的类型

显示:将大的转换为小的

Convert类:任何基本类型见得转换

注:只用Parse和Convert进行转换不是,如果转换没有意义,则可能会出错

double num = 10.11;

int sum = int.Parse(num);

Parse()方法不接受string以外的任何参数

MyBank项目总结

User

账户类

成员变量

         用户名

         密码

         身份证

         账号

         账号余额

取款方法

存款方法

Bank

成员变量(User   User数组   提示信息)

初始化用户信息

显示所有账户的所有信息

显示菜单

开户

取款

存款

转账

显示余额

修改密码

判断账户是否存在

测试类

调用方法

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

Name.Length ==0                     

Name == String.Empty             

Name == “”                                 

建立个文件(aspx页面)

Public void 方法名(Page-Load)(…..){

         String a = “”;

         For(int I = 0;i<1000000i++){

                   If(a.Length == 0){}

}

}

方法                                         结果

If(a==””)                            98

If(a==String.Empty)    105

If(a.Length == 0)          168

免责声明:文章转载自《C#中的String类2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 执行JavaScript 以及容器化的问题限流的几种方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android二维码功能实现

最近二维码真是越来越火了,随便电视上、网络上、商场里,到处都是二维码。而内嵌二维码扫描功能的软件也越来越多,QQ、微信、UC浏览器等等应用都可以对着二维码扫一扫,感觉我们自己的应用里不加上二维码扫描功能,都跟不上时代潮流了。所以今天我就将带着大家一起,在我们自己的程序里加入二维码扫描的功能。 不过,二维码功能如果真要做起来还是非常复杂的,从零开始实现不太现...

使用Redis中的incr实行自增,来实现订单号

需求: 如何生成唯一的订单序列号? 格式按照:yyyyMMdd+两位业务码+10位的自增序列, 比如:20150101**99**0000000001。 思路: (1)获得日期很简单; (2)业务码是调用服务传入的参数; (3)使用Redis来实现10位的自增序列的保存和自增,使用serial.number:{日期}的格式来保存某一天的自增序列的值; 直接...

《Zuul网关》之GETPOSTPUT请求报文重组并支持multipart/form-data

1、重组参数 假设需要重新组装的参数如下: @Setter @Getter public class DecodeParameters implementsSerializable{   private static final long serialVersionUID = -874947393093003083830L;   //通用参数   pr...

springboot制作自定义starter

自定义starterSpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进 starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启 动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。 SpringBoot会自动通过...

ActiveMQ---知识点整理

本文来自于csdn,文章通过介绍ActiveMQ的安装,使用,搭建等等,简单整理了ActiveMQ。 本文转自:http://www.uml.org.cn/zjjs/201802111.asp 一.背景介绍 1.1 java消息服务: 不同系统之间的信息交换,是我们开发中比较常见的场景,比如系统A要把数据发送给系统B,这个问题我们应该如何去处理? 1999...

获取JAVA对象占用的内存大小

介绍两种获取JAVA对象内存大小的方法。 第一种:Instrumentation 简介: 使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小。利用Instrumentation并且通过代理我们可以监测在JVM运行的程序的功能,它的原理是修改方法的字节码。 首先创建代理类 packagecom.dingt...