1.可读性比连加好看
如:string str = "select * from "+ strTable +" where name="+strValue; 而用Format string.Format("select * from {0} where name='{1}'",strTable ,strValue); 在检查SQL 错误时,容易差错特别是出现"'',%"这样的符号
2.格式化的时候不需要指定是什么数据类型
int nID = 1; string str = "select * from "+ strTable +" where ID ="+nID.ToString();//nID需要转化成string string.Format("select * from {0} where ID={1}",strTable ,nID);//nID在这里不需要转换
3.比C++格式化方式更灵活
当字符串出现相同的字符时,需要都列出来.如 C++ str.Format(" %0.3f ABCDEF %d %0.3f", d,A,d);//参数根据 %的顺序而定 C# string.Format(" {0} ABCDEF {1} {0}", d,A);//在{}需要指定参数的顺序