从方法返回多个值的正确方法 [英] The right way of returning multiple values from a method

查看:93
本文介绍了从方法返回多个值的正确方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用LINQ查询来获取userID和userRole,并将它们返回. 我想知道如何在返回数据后读取每个值. 这是代码.

I am fetching userID and userRole using LINQ query and I am returning them back. I want to know how can I read each value after returning data. Here's the code.

public object[] GetUserInfoFromUsernameAndPassword(string userName, string password)
{
  var userInfo = from u in STE.tblUsers
  where u.UserName == userName
  && u.PWD == password
  select new
  {
    u.UserID,
    u.UserRole
  };

  return userInfo.ToArray();
}

这是一个好方法吗? 如果有人知道更好的方法,请分享..

Is this a good way of doing it? If anyone know better way, please share..

谢谢

推荐答案

对于正在寻找一种无需创建新类的方法的人,请使用outref参数-

For those who are looking for a way to do this without creating a new class, use either out or ref parameters-

public void GetUserInfoFromUsernameAndPassword(string userName, string password, out int userID, out string userRole)
{
  var userInfo = from u in STE.tblUsers
  where u.UserName == userName
  && u.PWD == password
  select new
  {
    userID = u.UserID,
    userRole = u.UserRole
  };
}

从您的代码中调用它-

string username = "abc";
string password = "***";
string uid, role;

GetUserInfoFromUsernameAndPassword(username, password, out uid, out role);

Console.WriteLine(uid);
Console.WriteLine(role);

这篇关于从方法返回多个值的正确方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆