我在 c# 中遇到字符串操作问题。请检查以下表达式:
public static string UNID = ((Thread.CurrentPrincipal as ClaimsPrincipal).Identity as ClaimsIdentity)
.Claims.Single(c => c.ClaimType.Contains("nameidentifier")).Value.Substring( //issue is here
我想指向子字符串函数中的值,以便在其上应用 indexOf 函数。我尝试了this
关键字但不起作用:
public static string UNID = ((Thread.CurrentPrincipal as ClaimsPrincipal).Identity as ClaimsIdentity)
.Claims.Single(c => c.ClaimType.Contains("nameidentifier")).Value.Substring(this.IndexOf('/') + 1);
我知道我们可以通过将表达式分解为以下部分来做同样的事情:
var value = ((Thread.CurrentPrincipal as ClaimsPrincipal).Identity as ClaimsIdentity)
.Claims.Single(c => c.ClaimType.Contains("nameidentifier")).Value;
var UNID = value.Substring(value.IndexOf('/') + 1);
但是,如果有任何解决方案,就像我尝试使用this
关键字一样。然后请告诉我?