C#2008中的元组出错

我在C#2010中创建了一个程序,我的代码包含一个元组,但当我将我的程序放入C#2008时,它无法识别它,并且出现了以下错误:

"The type of namespace name 'Tuple' could not be found"

所以我不知道如何使这项工作,这是发生错误的代码行:

 private List<Tuple> lines = new List<Tuple>(); 

请帮忙。

编辑

基本上这是我的代码,由于错误,目前无法编译:

 public partial class Form1 : Form { private bool isMoving = false; private Point mouseDownPosition = Point.Empty; private Point mouseMovePosition = Point.Empty; private List<Tuple> lines = new List<Tuple>(); public Form1() { InitializeComponent(); } private void pictureBox1_Paint(object sender, PaintEventArgs e) { var g = e.Graphics; if (isMoving) { g.Clear(pictureBox1.BackColor); g.DrawLine(Pens.Black, mouseDownPosition, mouseMovePosition); foreach (var line in lines) { g.DrawLine(Pens.Black, line.Item1, line.Item2); } } } private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { isMoving = true; mouseDownPosition = e.Location; } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (isMoving) { mouseMovePosition = e.Location; pictureBox1.Invalidate(); } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { if (isMoving) { lines.Add(Tuple.Create(mouseDownPosition, mouseMovePosition)); } isMoving = false; } } 

所以我需要一种改变或使Tuple在VS C#2008和2010中工作的方法,

谢谢

Tuple类不在v4之前的框架中,但这是一个简化版本,可以满足您的大部分需求:

 public class Tuple { public T Item1 { get; private set; } public U Item2 { get; private set; } public Tuple(T item1, U item2) { Item1 = item1; Item2 = item2; } } public static class Tuple { public static Tuple Create(T item1, U item2) { return new Tuple(item1, item2); } } 

您可以轻松添加类以使元组具有2个以上的参数

元组是C#4.0中的新function

检查链接到此问题的文章,它解释了它们的用法。

.NET的未来版本是否会支持C#中的元组?

Tuple是.NET Framework 4中的新增function.Visual Studio仅将.NET Framework 3.5作为最新版本。 因此,您的目标是不包含Tuple类的Framework,并且它不会编译。

如果你真的需要它在Framework 3.5 / VS2008中,那么编写你自己的Tuple类来使现有代码在该版本下编译并不会太难(假设你没有使用任何其他4.0特定的东西)。

Tuple仅在.NET 4中可用,VS2008不支持。

更新到框架4.0(找到VS 2008的任何补丁)否则,推荐使用Visual Studio 2010 for Tuple,