问题标签 [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.

0 投票
1 回答
521 浏览

c# - ValueTuple<(string loanID, decimal x, ...)> 在 c# 中不包含 'loanID' 的定义

我只是将 ValueTuple 传递给一个函数。我想处理这个 ValueTuple 中的值。

不幸的是,VS 2017 只允许我访问credit.Item1. 没有其他项目。到目前为止,我对 ValueTuples 没有任何问题。

编译器中的错误是:

ValueTuple<(string loanID, decimal y, ...)> 不包含“loanID”的定义...

代码是

同时,当悬停在credit我可以正确看到它时: 在此处输入图像描述

有什么建议么?

0 投票
1 回答
126 浏览

c# - 为什么我需要将方法转换为 `Action` 或 `Func` 才能在值元组中使用它?

为什么编译器不能处理这些x3x4赋值?

0 投票
1 回答
1824 浏览

c# - What changed in System.ValueTuple 4.4.0 -> 4.5.0?

I consider updating my System.ValueTuple references from 4.4.0 to (current) 4.5.0.

To avoid regressions, I'd like to find out what changed between those two releases. The nuget page says:

Release Notes

https://go.microsoft.com/fwlink/?LinkID=799421

which links to the .NET Core github repository.

Is the "Release Notes" link broken or does the .NET Core github repository actually contain the changelog for System.ValueTuple? If the latter, where exactly is it? I tried searching for System.ValueTuple in the repository, which yields a few results but did not help me find the changes between version 4.4.0 and 4.5.0.

0 投票
1 回答
1916 浏览

c# - C#。错误 CS8135:具有 2 个元素的元组无法转换为类型“对象”

考虑以下方法:

这不会编译显示我在这个问题的标题中提到的错误。我可以通过像下面这样的演员来解决这个问题:

到目前为止,一切都很好。奇怪的部分和我问这个的原因是,如果我更改语法并使用三元运算符而不是 if-else 语句,如下所示:

然后就不需要演员了!!!为什么?恕我直言,编写该方法的两种方式在语义上都是相等的。我知道生成的 IL 可能不一样(没有检查过)。

0 投票
2 回答
500 浏览

c# - 在 LINQ 中解构包含 ValueTuple 的容器

我可以通过扩展方法解构容器:

如何System.ValueTuple在 LINQ 中解构包含 a 的容器/字典?

我只是想知道如何(以及是否)可以在(任何)LINQ 方法中解构 ValueTuple。我想我必须为每个 Linq 方法(类似列表)+ 字典重载 + ValueTuple 中的每个值的数量添加一个扩展方法。示例中的 Where() 会是什么样子?

0 投票
2 回答
1230 浏览

c# - 在 .NetStandard 2.0 项目中构建 System.ValueTuple 时出错

我有一个使用 System.ValueTuple 的 .NetStandard 项目。

无论我是否包含 System.ValueTuple nuget 包,它都可以在 Visual Studio 中构建良好。

但是,当我在 team-city 上构建它并出现错误时,它会失败:

Teamcity 托管在具有最新 .Net Core SDK 和最新 .NetFramework SDK 的环境中。

当我将目标框架更改为 .NetCoreApp2.0 时,它构建得很好。

关于可能发生什么的任何想法?

供参考,这是我的 csproj:

0 投票
3 回答
65 浏览

python-3.x - 在python中将一个类的变量列表发送到另一个类

在这里,我想将一个类对象属性发送到其他类。我的基本程序如下所示

所以发生了一些错误,比如

过度解包

应该返回 None 不是元组

return 应该是 1 个值而不是多个

0 投票
3 回答
1492 浏览

c# - 是否可以自动从 ValueTuple<> 映射到类属性?

使用一些现有的 Mapper,是否可以:

var target = Mapper.Map(source).To<Dto>();

source具有属性和的IEnumerable<(string Foo, int Bar)>类在哪里?DtoFooBar


示例代码:

通过使用TupleElementNamesAttribute 它可以在运行时访问值元组元素,特别是它的名称。

0 投票
1 回答
91 浏览

c# - Selecting Tuples from ILookup throws exception

I have an ILookup<Type, (int, string, BitmapSource)> which is supposed to store display information for elements (that otherwise only exist as enums in the application) in a dropdown.

The Tuples are accessed like this:

However, the compiler complains about this:

Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type.

Even writing element => (element.Item1, element.Item2, element.Item3) causes the same error. What am I doing wrong here, the types are exactly the same.

0 投票
1 回答
618 浏览

razor - Razor 中的 ValueTuple

我使用带有 Razor c# 7.3 .Net Framework 4.7.2 的最新更新 MVC 5.2.6 的 vs2017

我有一种情况,我试图将一个元组从一个视图传递到一个局部视图

@{var tuple = (FirstName: "Babe", LastName: "Ruth"); } @Html.Partial("_Name", 元组)

这是接收数据的部分视图

@model(字符串名字,字符串姓氏)

如果我使用即时窗口,我可以看到这个

模特(“Babe”、“Ruth”)名字:“Babe”姓氏:“Ruth”原始视图:(“Babe”、“Ruth”)

但是如果我尝试访问这些部件,我会得到这个

Model.FirstName null Model.LastName null

所以当我尝试使用视图中的值时,它失败了。

我可以传递一个以相同方式显示的集合,但它会迭代并显示信息。

我的问题是,我错过了什么。即时窗口正确显示它的事实,但我无法获得各个值。

如您所见,它识别元组中的“属性”,但无法获取值。

我已经尝试过 System.Tuple 4.5 nugget 包和 mscorlib 中的包。

在我缺少的剃刀视图中使用元组有什么秘密吗?