我创建了我的元组并将其添加到组合框中:
comboBox1.Items.Add(new Tuple<string, string>(service, method));
现在我希望将项目强制转换为元组,但这不起作用:
Tuple<string, string> selectedTuple =
Tuple<string, string>(comboBox1.SelectedItem);
我该如何做到这一点?
答案 0 :(得分:14)
投射时不要忘记()
:
Tuple<string, string> selectedTuple =
(Tuple<string, string>)comboBox1.SelectedItem;
答案 1 :(得分:4)
你的语法错了。它应该是:
Tuple<string, string> selectedTuple = (Tuple<string, string>)comboBox1.SelectedItem;
可替换地:
var selectedTuple = (Tuple<string, string>)comboBox1.SelectedItem;
答案 2 :(得分:2)
从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)
请注意,两个括号都是必需的。第一个(从里到外)是因为元组类型,第二个是由于显式转换。