如何在.NET 7中详细实现将查询结果绑定至数组的方法?

2026-05-01 03:0110阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计525个文字,预计阅读时间需要3分钟。

如何在.NET 7中详细实现将查询结果绑定至数组的方法?

目录+前言+代码演示+帮助+IParsable+绑定复杂类型+参考资料+总结+前言+在+.Net 7中,我们可以通过绑定数组的方式来接收来自查询字符串的参数,这样就不需要再使用分隔符来分割字符串了。

如何在.NET 7中详细实现将查询结果绑定至数组的方法?

目录
  • 前言
  • 代码演示
  • 借助 IParsable 绑定更复杂的类型
  • 参考资料
  • 总结

前言

在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。

代码演示

假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2

在 .Net 7 中,我们可以这样实现:

public ActionResult GetResults([FromQuery]int[] ids) { // 使用 ids 数组查询结果 }

这样就可以直接将 id=1&id=2 这样的查询字符串绑定到 ids 数组上。

借助 IParsable 绑定更复杂的类型

如果我们需要绑定的类型比较复杂,例如:

public ActionResult GetResults([FromQuery]MyDate[] dates) { // 使用 dates 数组查询结果 }

我们可以通过实现 IParsable<T> 接口来实现自定义的绑定。

public class MyDate : IParsable<MyDate> { public int Month { get; set; } public int Day { get; set; } public void Parse(string input) { var parts = input.Split('-'); Month = int.Parse(parts[0]); Day = int.Parse(parts[1]); } public static MyDate Parse(string s, IFormatProvider? provider) { var date = new MyDate(); date.Parse(s); return date; } public static bool TryParse(string? s, IFormatProvider? provider, out MyDate result) { try { result = Parse(s, provider); return true; } catch { result = default; return false; } } }

这样就可以通过 dates=1-1&dates=2-2 这样的查询字符串来绑定到 MyDate[] 数组上了。

参考资料

Bind arrays and string values from headers and query strings:

总结

到此这篇关于如何在.Net7中将Query绑定到数组的文章就介绍到这了,更多相关.Net7将Query绑定到数组内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

本文共计525个文字,预计阅读时间需要3分钟。

如何在.NET 7中详细实现将查询结果绑定至数组的方法?

目录+前言+代码演示+帮助+IParsable+绑定复杂类型+参考资料+总结+前言+在+.Net 7中,我们可以通过绑定数组的方式来接收来自查询字符串的参数,这样就不需要再使用分隔符来分割字符串了。

如何在.NET 7中详细实现将查询结果绑定至数组的方法?

目录
  • 前言
  • 代码演示
  • 借助 IParsable 绑定更复杂的类型
  • 参考资料
  • 总结

前言

在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。

代码演示

假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2

在 .Net 7 中,我们可以这样实现:

public ActionResult GetResults([FromQuery]int[] ids) { // 使用 ids 数组查询结果 }

这样就可以直接将 id=1&id=2 这样的查询字符串绑定到 ids 数组上。

借助 IParsable 绑定更复杂的类型

如果我们需要绑定的类型比较复杂,例如:

public ActionResult GetResults([FromQuery]MyDate[] dates) { // 使用 dates 数组查询结果 }

我们可以通过实现 IParsable<T> 接口来实现自定义的绑定。

public class MyDate : IParsable<MyDate> { public int Month { get; set; } public int Day { get; set; } public void Parse(string input) { var parts = input.Split('-'); Month = int.Parse(parts[0]); Day = int.Parse(parts[1]); } public static MyDate Parse(string s, IFormatProvider? provider) { var date = new MyDate(); date.Parse(s); return date; } public static bool TryParse(string? s, IFormatProvider? provider, out MyDate result) { try { result = Parse(s, provider); return true; } catch { result = default; return false; } } }

这样就可以通过 dates=1-1&dates=2-2 这样的查询字符串来绑定到 MyDate[] 数组上了。

参考资料

Bind arrays and string values from headers and query strings:

总结

到此这篇关于如何在.Net7中将Query绑定到数组的文章就介绍到这了,更多相关.Net7将Query绑定到数组内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!