C# 是不是;名称“;“的参数”;HttpHeaders.TryGetValues();关心案件敏感性吗?

C# 是不是;名称“;“的参数”;HttpHeaders.TryGetValues();关心案件敏感性吗?,c#,C#,根据, 字段名不区分大小写 该方法是否符合协议?(即,该方法是否知道不考虑名称参数的大小写敏感性?,如MSDN页面上所述 RFC 2616中定义的标题及其值的集合 因此,正式来说,这是合同的一部分 现实怎么样 根据,用于存储标头的字典不区分大小写: new Dictionary<string, HeaderStoreItemInfo>(StringComparer.OrdinalIgnoreCase) 新字典(StringComparer.OrdinalIgnoreCase) 请参

根据,

字段名不区分大小写


该方法是否符合协议?(即,该方法是否知道不考虑
名称
参数的大小写敏感性?

,如MSDN页面上所述

RFC 2616中定义的标题及其值的集合

因此,正式来说,这是合同的一部分

现实怎么样

根据,用于存储标头的字典不区分大小写:

new Dictionary<string, HeaderStoreItemInfo>(StringComparer.OrdinalIgnoreCase)
新字典(StringComparer.OrdinalIgnoreCase)

请参见@Luaan的答案

示例代码:

HttpRequestMessage hrh = new HttpRequestMessage();
HttpHeaders headers = hrh.Headers;
headers.Add( "ALLCAPS", "thevalue" );

IEnumerable<string> headerValues;
bool success = headers.TryGetValues( "allcaps", out headerValues );
Assert.IsTrue( success );

Console.Out.WriteLine( String.Join( ",", headerValues ) );
// thevalue
HttpRequestMessage hrh=new-HttpRequestMessage();
HttpHeaders=hrh.headers;
标题。添加(“所有上限”、“价值”);
i可数人头价值;
bool success=headers.TryGetValues(“allcaps”,out headerValues);
断言(成功);
Console.Out.WriteLine(String.Join(“,”,headerValue));
//价值

为什么不编写一个测试来尝试它呢?我觉得得到这样的答案很好。@neverendingqs补充道。这其实没什么大不了的-声明的接口就是承诺给你的。如果你关心实现细节,你所需要做的就是尝试。@TonyCheetham很抱歉你觉得我的答案令人反感。