Cas*_*erT 2 c# conventions type-conversion
让我们说我有一个文本框或任何其他形式的输入,要求提供社会安全号码.我想要注意的是,SSN是一个纯粹的例子,我现在只是想到了.该输入最初将自然地存储为字符串.
string s = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
让我们说我想要一个验证SSN的方法,它可能会在我的代码中用于各种各样的地方.哎呀,我甚至可能在一个尚未由用户输入确定的变量上调用该方法.
这可以接受吗?
public bool IsValidSSN(Object SSN)
{
int mySSN;
if(Int.Parse(SSN == false)
{
mySSN = Convert.toInt32(SSN);
}
...
}
Run Code Online (Sandbox Code Playgroud)
或者你会坚持要求我提供特定的数据类型,例如
public bool IsValidSSN(int SSN)
{
...
}
Run Code Online (Sandbox Code Playgroud)
因此我需要在输入方法之前将输入转换为正确的数据类型.
顺便说一句:我不是问如何做一个正确的IsValidSSN代码:)我只是想举例说明我的意思:我可以接受Object数据类型作为参数还是应该尽量避免它?
如果你必须接受一个对象,我至少会有一个带有强类型参数的方法的重载.然后将对象变体提供给这些方法.
public bool IsValidSSN(object ssn) {
...
IsValidSSN(Convert.ToInt32(ssn));
...
}
public bool IsValidSSN(int ssn) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |