23

我创建了我的元组并将其添加到组合框中:

comboBox1.Items.Add(new Tuple<string, string>(service, method));

现在我希望将项目转换为元组,但这不起作用:

Tuple<string, string> selectedTuple = 
                   Tuple<string, string>(comboBox1.SelectedItem);

我怎样才能做到这一点?

4

3 回答 3

26

不要忘记()你的施法时间:

Tuple<string, string> selectedTuple = 
                  (Tuple<string, string>)comboBox1.SelectedItem;
于 2013-01-30T13:46:04.770 回答
17

从 C# 7 开始,您可以非常简单地进行转换:

var persons = new List<object>{ ("FirstName", "LastName") };
var person = ((string firstName, string lastName)) persons[0];

// The variable person is of tuple type (string, string)

请注意,两个括号都是必需的。第一个(从内到外)是因为元组类型,第二个是因为显式转换。

于 2020-10-26T16:51:04.823 回答
7

你的语法是错误的。它应该是:

Tuple<string, string> selectedTuple = (Tuple<string, string>)comboBox1.SelectedItem;

或者:

var selectedTuple = (Tuple<string, string>)comboBox1.SelectedItem;
于 2013-01-30T13:46:03.260 回答