此结构的名称是什么?何时引入?

时间:2019-01-22 17:36:14

标签: c# .net

我在正在使用的代码库中遇到过这样的代码使用情况:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="select1" id="select1">
  <option value="" disabled selected>Select your option</option>
  <option value="1" data-option-id="1">Sitzen </option>
  <option value="2" data-option-id="2">Schlafen</option>
  <option value="3" data-option-id="3">Reisen</option>
</select>

<select name="select2" id="select2" disabled>
  <option value="a" disabled selected data-option-id="a">Select your option</option>
  <option value="1" data-option-id="1">Comfort Cushion</option>
  <option value="2" data-option-id="1">Freilagerungssitzkissen</option>
  <option value="3" data-option-id="1">Rückenkissen</option>
  <option value="4" data-option-id="1">Sitzkissen zum Druckmanagement</option>
  <option value="5" data-option-id="1">Wedge Cushion</option>
  <option value="6" data-option-id="1">Wedge Pillow</option>
  <option value="7" data-option-id="2">Comfort Pillow</option>
  <option value="8" data-option-id="2">Dreamy Cushion</option>
  <option value="9" data-option-id="2">Kniekissen</option>
  <option value="10" data-option-id="3">Reise Nackenkissen</option>
</select>

<select name="select3" id="select3" disabled>
  <option value="a" disabled selected data-option-id="a">Select your option</option>
  <option value="2" data-option-id="2">Standard</option>
  <option value="3" data-option-id="2">Large</option>
  <option value="1" data-option-id="3">Small</option>
  <option value="2" data-option-id="3">Standard</option>
  <option value="2" data-option-id="4">Standard</option>
  <option value="3" data-option-id="4">Large</option>
</select>

上面的方法是否从根本上提供了一种简化的方法,无需创建特殊的类/结构即可动态返回复杂的对象?此结构的名称是什么?何时引入?

3 个答案:

答案 0 :(得分:1)

它称为“值元组”,在C#7.0中引入 它是元组对象的值类型表示形式,可用于返回值

更多信息在这里: https://blogs.msdn.microsoft.com/mazhou/2017/05/26/c-7-series-part-1-value-tuples/

答案 1 :(得分:1)

“ C#7.0引入了ValueTuple结构,它是元组对象的值类型表示形式。语言团队为此值元组类型做了很多事情,包括新的语法和许多功能(例如解构)。

请注意,如果在项目中看不到ValueTuple,则必须将System.ValueTuple 4.3.0 NuGet程序包下载到项目中。如果您使用的是.NET Framework 4.7或更高版本,或者.NET Standard Library 2.0或更高版本,则无需执行任何操作。“

https://blogs.msdn.microsoft.com/mazhou/2017/05/26/c-7-series-part-1-value-tuples/

答案 2 :(得分:-4)

  • 从技术上讲,它返回一个结构。请注意,这意味着没有垃圾回收。是的,它比

  • 更容易
  • 这称为“ TUPLE”。它是在C#7.0中引入的

更多细节,其中包括:

Does C# support multiple return values?

还有一个很好的解释

https://blogs.msdn.microsoft.com/mazhou/2017/05/26/c-7-series-part-1-value-tuples/