问题标签 [valuetuple]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何创建 ValueTuple 列表?
是否可以在 C# 7 中创建 ValueTuple 列表?
像这样:
wpf - 带有 WPF 绑定的 ValueTuple
为什么绑定到ValueTuple
属性成员(如 Item1、Item2 等)不起作用?
编码:
输出窗口:
BindingExpression 路径错误:在“对象”“ValueTuple`2”上找不到“Item1”属性
但是在Tuple
它总是有效的。
c# - 何时使用:C# 7.0 中的元组与类
在元组之前,我曾经创建一个类及其变量,然后从这个类创建对象,并使该对象成为某些函数的返回类型。
现在,使用元组,我可以做同样的事情,在 C# 7.0 中,我们可以为元组属性分配易于理解的名称(在此之前,它是item1
,item2
等)
所以现在我想知道,我什么时候使用元组,什么时候在 C# 7.0 中创建一个类?
c# - C# 7 中的 C# 匿名类型是多余的吗
由于 C# 7 引入了值元组,是否存在比元组更适合它们的有意义的场景?
例如,以下行
使以下行
多余的。
一个比另一个更好使用的用例(出于性能原因或优化)会是什么用例?
显然,如果需要超过六个字段,则不能使用元组,但是有什么更细微的地方吗?
tuples - C# 7.0 中的元组文字可以启用面向方面的编程吗
我指的是此处描述的元组文字:https ://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/#comment-321926
喜欢元组文字的想法。
但是我预见到很多查找返回元组中项目的顺序,并且想知道我们如何解决这个问题。
例如,将元组中的项目名称作为身份定义方面而不是顺序不是更有意义吗?或者有没有办法做到这一点,我没有看到?
例如:假设 NextEmployee() 是一些我没有源代码的库方法,也没有特别好的文档记录,假设它返回(firstname: “jamie”, lastname: “hince”, id: 102348)
给我,我说:
编译器要么愉快地将名字分配给姓氏,要么发出警告或错误。为什么不将姓氏映射到姓氏?
我会看到允许更松散耦合的架构,如果我们不必记住元组中姓氏的索引,并且可以只要求这样的“姓氏”方面。
c# - Caliburn.Micro - 将 ValueTuple 的 ObservableCollection 绑定到 ComboBox
我正在尝试使用 Caliburn.Micro 框架 MVVM 将 ValueTuples 的 ObservableCollection 绑定到 WPF 中的 ComboBox。当我在 ViewModel 中这样做时:
在 XAML 视图中:
它起作用了,ComboBox 用第一个字符串填充。但是当我尝试使用 C# 7 并更改为:
当我不更改 XAML 时它不起作用 - 它显示空列表。DisplayMemberPath="name"
当我更改为- 相同的空列表时它不起作用。当我删除它时它不能正常工作DisplayMemberPath
- 它显示整个列表但两个字符串连接在一起。如何使用 ValueTuples 做到这一点?
c# - ValueTuple 不支持 DisplayMemberPath。组合框,WPF
我有一个组合框,想将它的 ItemsSource 绑定到一个IEnumerable<(string,string)>
. 如果我没有设置 DisplayMemberPath,那么它会起作用,并且它会在下拉区域中显示调用ToString()
项目的结果。不过,当我设置DisplayMemberPath="Item1"
它时,它不再显示任何内容。我制作了以下示例,您可能会在其中看到,如果我使用经典Tuple
类型,它会按预期工作。
调试时,我检查了 valuetuple 也有 Item1 和 Item2 作为属性。
我的 XAML:
我的代码隐藏:
在运行时,此示例将在第一个组合框中正确显示数据,但在第二个组合框中不会显示任何内容。
为什么会这样?
c# - 值元组类型模式
我正在尝试在 C# 7 中针对元组类型使用类型模式:
但编译器给了我以下错误:
无效的表达式术语“字符串”需要一个常量值
我该如何解决这个问题?
注意我知道我可以使用:
但我想知道是否有更好的语法。