简体   繁体   English

如何在C#中将值分配给数组

[英]how to assign value in to array in c#

First of all get the rolename based on the login user. 首先,根据登录用户获取角色名称。 After that get the functioncode from db based on the role. 之后,根据角色从db获取功能代码。 I need to assign the sql result into Array , but it keep show error can't convert from string to string[] 我需要将sql结果分配给Array ,但是它保持show错误can't convert from string to string[]

   public override string[] GetRolesForUser(string username)
    {
        DEV_Context OE = new DEV_Context();
        string role = OE.UserRefs.Where(x => x.UserName == username).FirstOrDefault().RoleName;

        string[] permission = OE.RolePermissionRefs.Where(x => x.RoleName == role).FirstOrDefault().FunctionCode; 
        string[] result={permission};

        return result;
    }

You need array of string, so instead of using FirstOrDefault, use Select and than ToArray method. 您需要字符串数组,因此请使用SelectToArray方法,而不是使用FirstOrDefault。

Your method should look like 您的方法应如下所示

public override string[] GetRolesForUser(string username)
{
    DEV_Context OE = new DEV_Context();
    string role = OE.UserRefs.Where(x => x.UserName == username).FirstOrDefault().RoleName;

    string[] result= OE.RolePermissionRefs.Where(x => x.RoleName == role).Select(x=>x.FunctionCode).ToArray(); 

    return result;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM