netcoreobject转化为querystring的方法
方法一:使用QueryString类和HttpUtility类
```csharp
using System.Collections.Specialized;
using System.Web;
//定义一个对象
public class Person
public string Name { get; set; }
public int Age { get; set; }
//将对象转换为查询字符串
public static string ObjectToQueryString(Person person)
// 创建一个NameValueCollection对象来存储查询参数
NameValueCollection queryParams = HttpUtility.ParseQueryString(string.Empty);
//将对象的属性值添加到查询参数中
queryParams["Name"] = person.Name;
queryParams["Age"] = person.Age.ToString(;
// 使用QueryString类的ToString方法将NameValueCollection对象转换为查询字符串
return queryParams.ToString(;
//使用示例
Person person = new Person { Name = "John", Age = 30 };
string queryString = ObjectToQueryString(person);
Console.WriteLine(queryString);
// 输出结果:Name=John&Age=30
```
方法二:使用QueryString类和LINQ表达式
```csharp
using System.Collections.Specialized;
object tousing System.Reflection;
using Microsoft.AspNetCore.WebUtilities;
//定义一个对象
public class Person
public string Name { get; set; }
public int Age { get; set; }
//将对象转换为查询字符串
public static string ObjectToQueryString(Person person)
// 创建一个NameValueCollection对象来存储查询参数
NameValueCollection queryParams = new NameValueCollection(;
//使用反射获取对象的属性和属性值,并将其添加到查询参数中
PropertyInfo[] properties = typeof(Person).GetProperties(;
foreach (PropertyInfo property in properties)
string name = property.Name;
object value = property.GetValue(person);
queryParams.Add(name, value.ToString();
}
// 使用QueryString类的Create方法将NameValueCollection对象转换为查询字符串
return QueryHelpers.AddQueryString("", queryParams);
//使用示例
Person person = new Person { Name = "John", Age = 30 };
string queryString = ObjectToQueryString(person);
Console.WriteLine(queryString);
// 输出结果:?Name=John&Age=30
```
以上两种方法都使用了`QueryString`类,但是实现方式略有不同。第一种方法使用了`HttpUtility.ParseQueryString`方法将查询字符串转换为`NameValueCollection`对象,然后使用`ToString`方法将其转换为查询字符串。第二种方法使用了`QueryHelpers.AddQuerySt
ring`方法,这个方法可以直接将`NameValueCollection`对象转换为查询字符串,并且可以指定查询字符串的起始字符。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论