gpt4 book ai didi

c# - 获取 NameValueCollection 的所有值到一个字符串

转载 作者:IT王子 更新时间:2023-10-29 04:10:22 26 4
gpt4 key购买 nike

我有以下代码:

string Keys = string.Join(",",FormValues.AllKeys);

我正在尝试使用 get:

string Values = string.Join(",", FormValues.AllKeys.GetValue());

但这当然行不通。

我需要类似的东西来获取所有值,但我似乎没有找到合适的代码来做同样的事情。

P.S:我不想使用 foreach 循环,因为这超出了第一行代码的目的。

最佳答案

var col = new NameValueCollection() { { "a", "b" }, { "1", "2" } }; // collection initializer

var values = col.Cast<string>().Select(e => col[e]); // b, 2

var str = String.Join(",", values ); // "b,2"

你也可以创建一个扩展方法:

public static string Join(this NameValueCollection collection, Func<string,string> selector, string separator)
{
return String.Join(separator, collection.Cast<string>().Select(e => selector(e)));
}

用法:

var s = c.Join(e => String.Format("\"{0}\"", c[e]), ",");

您还可以轻松转换 NameValueCollection更方便Dictionary<string,string>所以:

public static IDictionary<string,string> ToDictionary(this NameValueCollection col)
{
return col.AllKeys.ToDictionary(x => x, x => col[x]);
}

给予:

var d = c.ToDictionary();

正如我使用 Reflector 发现的那样,NameValueCollection.AllKeys在内部执行循环以收集所有 te 键,所以看起来 c.Cast<string>()更可取。

关于c# - 获取 NameValueCollection 的所有值到一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com