gpt4 book ai didi

c# - 接受 Object 作为参数是否可以接受?

转载 作者:行者123 更新时间:2023-11-30 19:22:34 25 4
gpt4 key购买 nike

假设我有一个文本框或任何其他形式的输入,要求提供社会安全号码。我确实想指出,SSN 只是我现在想到的一个纯粹的例子。此输入最初自然会存储为字符串。

string s = Console.ReadLine();

假设我想要一个验证 SSN 的方法,它可能会在我的代码中的所有地方使用。哎呀,我什至可能会在尚未由用户输入确定的变量上调用该方法。

这可以接受吗?

public bool IsValidSSN(Object SSN)
{
int mySSN;
if(Int.Parse(SSN == false)
{
mySSN = Convert.toInt32(SSN);
}
...
}

或者你会坚持我要求一个特定的数据类型,例如

public bool IsValidSSN(int SSN)
{
...
}

因此,我需要在调用输入方法之前将输入转换为正确的数据类型。

顺便说一句:我不是在问如何执行正确的 IsValidSSN 代码 :) 我只是想举例说明我所说的意思:我可以接受 Object 数据类型作为参数还是应该尝试避免它?

最佳答案

如果您必须接受一个对象,我至少会重载采用强类型参数的方法。然后将对象变体输入到这些方法中。

public bool IsValidSSN(object ssn) {
...
IsValidSSN(Convert.ToInt32(ssn));
...
}

public bool IsValidSSN(int ssn) {
...
}

关于c# - 接受 Object 作为参数是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com