一个小小的问题,希望大家不吝赐教阿
private string name;
private decimal salary;
public employee(string name,decimal salary)
{
this.name=name;
this.salary=salary;
}
public override string ToString()
{
return string.Format(name+",{0:C}",salary);
}
我想问一下,这里的 string.Format(name+",{0:C}",salary);到底派啥用途阿
我查了msdn,里面的例题是
Serializable]
public class LogicalCallContextData : ILogicalThreadAffinative
{
int _nAccesses;
IPrincipal _principal;
public string numOfAccesses {
get {
return String.Format("The identity of {0} has been accessed {1} times.",
_principal.Identity.Name,
_nAccesses);
}
}
public IPrincipal Principal {
get {
_nAccesses ++;
return _principal;
}
}
public LogicalCallContextData(IPrincipal p) {
_nAccesses = 0;
_principal = p;
}
}
这里的一句
String.Format("The identity of {0} has been accessed {1} times.",
_principal.Identity.Name,
_nAccesses);
看的我朦朦胧胧的,谁能帮我讲一下,这string.format到底是派啥用途的,如何以用啊
休息吧!
明天再战!
UP
将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。
你这句是
用_principal.Identity.Name代替{0}
用_nAccesses代替{1}
return string.Format(name+",{0:C}",salary);
{0:C} 中的 0肯定是salary了,至于C肯定是显示的 格式
这个就是格式化字符串啊
C是本地货币格式
1string.format 是字符串的格式化,就是规定字符串按特定的方式输出。
2 stack是堆栈 是用来存值类型,heap 是堆 用来存引用类型
3 应用类型是应用的名称和它的内容存在不同的地方,他们不是紧存在一起的
finalization 只是把名字删了,但内容没删,所以可以找回来