我跟随Tuple:
Tuple <string, string> UHRSCredentals;
。 。
UHRSCredentals = new Tuple<string, string>(UserNameLine.Split('\t')[1], PasswordLine.Split('\t')[1]);
现在,我如何检查UHRSCredentals是否有任何项目? 除了这个 ?
if (UHRSCredentals.Item1 != "" && UHRSCredentals.Item2 !="")
答案 0 :(得分:2)
您可以编写一个简单的扩展方法:
public static class TupleExtensions
{
public static bool HasValue(this Tuple<string, string> tuple)
{
return !string.IsNullOrEmpty(tuple?.Item1) && !string.IsNullOrEmpty(tuple?.Item2);
}
}
var UHRSCredentals = Tuple.Create(UserNameLine.Split('\t')[1], PasswordLine.Split('\t')[1]);
bool hasValue = UHRSCredentals.HasValue(); // True!
但也许你应该考虑一个小班来更清楚地表达和封装你的意图:
class UsernamePasswordPair
{
public string Username { get; private set; }
public string Password { get; private set; }
public bool HasValue { get; private set; }
public static UsernamePasswordPair Create(string usernameLine, string passwordLine)
{
UsernamePasswordPair pair = new UsernamePasswordPair();
pair.Username = usernameLine?.Split('\t')[1];
pair.Password = passwordLine?.Split('\t')[1];
pair.HasValue = !string.IsNullOrEmpty(pair.Username)
&& !string.IsNullOrEmpty(pair.Password);
return pair;
}
}
UsernamePasswordPair p1 = UsernamePasswordPair.Create(UserNameLine, PasswordLine);
bool hasValue = p1.HasValue; // True!
答案 1 :(得分:0)
你可以尝试:
UHRSCredentals == null
我没有测试过这个!