Effective C#-Working with Strings

看到一篇适合初学者的小短文,就翻译了过来,飞刀板砖只管来,做好准备了:) .

Effective C#-Working with Strings
Author: Mahesh Chand

1。空字符串

检查一个字符串是否为空,一个有效的方法是使用string类的Length属性来取代使用null或与""比较。
string str1 = AMethodReturnsString()
{
//Do something and return a string
}
if (str1.Length>0)
{
//do something
}

2。字符串连接

每当修改一个字符串使之返回新的字符串时,建立许多字符串对像会降低你程序的性能,你可以使用 StringBuilder类来避免建立一个新的字符串实例。
 
你想连接两个字符串,这是通常的方法:
string str1 = "I like ";
string str2 = "Soccer";
string strConcat = string.Concat(str1,str2);

strConcat的结果为"I like Soccer",你可以使用StringBuilder类的Append方法做同样的事情。
StringBuilder MyStrBuilder = new StringBuilder ("I like ");
String newStr = "Soccer";
MyStrBuilder.Append(newStr);

MyStrBuilder的结果也是 I like Soccer.

3。比较字符串

使用String.Equals方法来比较两个字符串。
string str1 = AMethodReturnsString()

if (str1.Equals("TestSting") )
{
// do something
}

时间: 2024-10-29 12:56:48

Effective C#-Working with Strings的相关文章

ES6 Features系列:Template Strings & Tagged Template Strings

1. Brief   ES6(ECMAScript 6th edition)于2015年7月份发布,虽然各大浏览器仍未全面支持ES6,但我们可以在后端通过Node.js 0.12和io.js,而前端则通过Traceur或Babel这类Transpiler将ES6语法预转译为ES5语法,来提前兴奋一把.而仅需适配 IE9+的朋友们现在更是可以开始撸ES6了,而不必为学哪门JavaScript超集语言而烦恼.(ES6又名为ECMAScript 2015或JavaScript.next,ES4的部分较

Effective Java -->(一)创建和销毁对象

创建|对象 Effective Java学习笔记JAVA语言支持四种基本类型:接口(Interface).类(Class).数组(Array).和原语类型(Primitive).前三种类型通常被称为引用类型(reference type),类的实例和数组是对象(object),而原语类型的值不是对象.一个类的成员(member)包括它的域(field),方法(method),成员类(member class)和成员接口(member interface).一个方法的原型(signature)包括

《Effective C# 精髓》摘选

昨天买了一本<Effective C#>,看了几个Item,虽然没有当初读<Effective C++>时的那般震撼,但是也收获不少.把其中的要点记录于下,有些条款加上了自己的理解,权当作读书笔记吧 :-) Item 1: Always Use Properties Instead of Accessible Data Members 这个是地球人都知道的条款了.你需要记住,属性是类的外部接口部分,而(公共)成员却是内部实现.如果把内部实现暴露给外部,对于以后类的实现变更是非常不利

Picture Numeric Format Strings(我很难解释大家自己看)

http://msdn.microsoft.com/library/dotnet/cpguide/cpconpicturenumericformatstrings.htm(直接的连接url)If the built-in formatting strings do not provide the type of formatting you require, you can use picture format strings to create custom string output. Pi

Effective Java (2) 遇到多个构造器参数时要考虑用构建器

一.背景 对于有多个可选参数的类,我们一般通过什么办法传递参数呢?这里提供了三种办法: ①. 重叠构造器模式 ②. JavaBeans模式 ③. Builder构建器模式 下面我们来分析一下以上三种方法的优势及弊端. 二.重叠构造器模式 重叠构造器模式中第一个构造器中只有必要参数,第二个构造器有一个可选参数,第三个构造器中有两个可选参数,依次类推,最后一个构造器中包含所有可选参数.这种方案可行,但是有较大缺陷. 缺点:当有很多可选参数的时候,客户端代码很难编写,并难以阅读,如果客户端不小心颠倒了

Effective Java (1) 考虑用静态工厂方法代替构造器

一.前言 从今天开始计划用一个月的时间,通过写读书笔记的方式来记录阅读这本Java领域经典中的经典书籍 - Effective Java过程中自己所思所想,以备以后查阅,同时分享出去也希望可以帮助到其他人,废话不多说,现在开始第一篇:创建和销毁对象. 二.考虑用静态工厂方法代替构造器 ①. 一般我们有什么办法可以创建对象呢? 方法1: 使用类公有构造器. 方法2:使用类的静态方法返回一个实例. ②. 使用静态方法创建对象有什么优点? 优点1: 静态工厂方法的名字是由我们自己命名,而构造方法必须与

大话深入浅出Effective Java核心实战编程思想之猴王的把戏

不知道大家还记不记得在<西游记>里的莲花洞夺宝的故事,就是猴王巧夺宝物,收复金银角大王那 一章.到底这个故事给了我们什么启示呢?这故事又和Effective Java有什么联系?还是延续上篇文章的 风格吧,看代码,读故事. 1import static org.junit.Assert.*; 2import org.junit.Test; 3 4 5public class TestClone { 6 7 @Test 8 public void testClone(){ 9 // 西天取经的路

More Effective C++之考虑变更程序库

程序库的设计就是一个折衷的过程.理想的程序库应该是短小的.快速的.强大的.灵活的.可扩展的.直观的.普遍适用的.具有良好的支持.没有使用约束.没有错误的.这也是不存在的.为尺寸和速度而进行优化的程序库一般不能被移植.具有大量功能的的程序库不会具有直观性.没有错误的程序库在使用范围上会有限制.真实的世界里,你不能拥有每一件东西,总得有付出. 不同的设计者给这些条件赋予了不同的优先级.他们从而在设计中牺牲了不同的东西.因此一般两个提供相同功能的程序库却有着完全不同的性能特征. 例如,考虑iostre

More Effective C++:不同new和delete

人们有时好像喜欢故意使C++语言的术语难以理解.比如说new操作符(new operator)和operator new的区别. 当你写这样的代码: string *ps = new string("Memory Management"); 你使用的new是new操作符.这个操作符就象sizeof一样是语言内置的,你不能改变它的含义,它的功能总是一样的.它要完成的功能分成两部分.第一部分是分配足够的内存以便容纳所需类型的对象.第二部分是它调用构造函数初始化内存中的对象.new操作符总是