深入C# String类
深入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类的更多相关文章
- 标准库String类
下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...
- 自己实现简单的string类
1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...
- C++ string类的实现
c++中string类的实现 今天面试被考到了, 全给忘记了!!! //string类的实现 #include <iostream> #include <string.h> ...
- String类的功能
String类 标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...
- java基础复习:final,static,以及String类
2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...
- String类和StringBuffer类的区别
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...
- 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- String类常用方法
1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...
- 运用String类实现一个模拟用户登录程序
package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...
随机推荐
- web前端开发浏览器兼容性处理大全
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- MySql安装和基本管理&mysql语句
MySql安装和基本管理 本章内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下 ...
- JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等
概要 线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列.本章先介绍线性表的几个基本组成部分:数组.单向链表.双向链表:随后给出双向链表的C.C++和Java三种语言的实现. ...
- PCB规则设置
规则设置
- 微信小程序开发——获取小程序带参二维码全流程
前言: 想要获取微信小程序带参数二维码,如这种: 官方文档只说了获取小程序码和二维码的三种接口及调用(参考链接:https://developers.weixin.qq.com/miniprogram ...
- 如何在比较1.5 len的次数下,找到整型数组最大最小值
2016-11-11 #include <iostream> #include<stdlib.h> #include<stdio.h> using namespac ...
- Inno Setup界面拉伸
1.源起: 源于一个安装包的广告定制.广告客服提供的图片太大,inno setup默认尺寸容不下它,需要扩充,拉宽安装界面尺寸. 以inno setup所附带例子说事,其默认尺寸如下: 2.Scale ...
- 写一写关于python开发面试的常遇到的问题以及解答吧,持续更新——看心情
1,什么是python中的魔术方法? 魔术方法是重载运算符的昵称,形式是__init__类似这样的前后双下滑线组成的,常用的__init__,__new__,__call__,__str__,__ge ...
- 8.17 纯css画一个着重号图标
今天看到一个同事写的着重号图标,我以为是图片,仔细一看,是span标签!哇!!学习一下哈哈 图标长这样: CSS代码: .hint{ display: inline-block; width: 20p ...
- 865. Smallest Subtree with all the Deepest Nodes 有最深节点的最小子树
[抄题]: Given a binary tree rooted at root, the depth of each node is the shortest distance to the roo ...