这里有没有那位达人清楚,Tuple的内在实现的,给详细讲讲。
11 个解决方案
#1
唔知系咩
#2
帮顶,学习。
#3
额。。。。不知道什么玩意,下面的大神解释下。
#4
下面的大神解释下。
#5
[Serializable]
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, IComparable, ITuple
{
// Fields
private T1 m_Item1;
private T2 m_Item2;
// Methods
public Tuple(T1 item1, T2 item2)
{
this.m_Item1 = item1;
this.m_Item2 = item2;
}
string ITuple.ToString(StringBuilder sb)
{
sb.Append(this.m_Item1);
sb.Append(", ");
sb.Append(this.m_Item2);
sb.Append(")");
return sb.ToString();
}
int ITuple.Size
{
get
{
return 2;
}
}
// Properties
public T1 Item1
{
get
{
return this.m_Item1;
}
}
public T2 Item2
{
get
{
return this.m_Item2;
}
}
//More and more...
}
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, IComparable, ITuple
{
// Fields
private T1 m_Item1;
private T2 m_Item2;
// Methods
public Tuple(T1 item1, T2 item2)
{
this.m_Item1 = item1;
this.m_Item2 = item2;
}
string ITuple.ToString(StringBuilder sb)
{
sb.Append(this.m_Item1);
sb.Append(", ");
sb.Append(this.m_Item2);
sb.Append(")");
return sb.ToString();
}
int ITuple.Size
{
get
{
return 2;
}
}
// Properties
public T1 Item1
{
get
{
return this.m_Item1;
}
}
public T2 Item2
{
get
{
return this.m_Item2;
}
}
//More and more...
}
#6
这个不是和泛型、C++的模板有点一样了
#7
路过,学习!
#8
tuple 是F#的类库
#9
ITuple在那个名称空间里
这样有的结构好象C#2.0就可以实现了吧,为什么我当时没想到自己实现一个呢?
网上说这个东西和函数式编程设计思想有关,有了这样的东西,真的觉得很多类结构似乎没很必要存在了一样。网上说Tuple等于是一种固定成员的泛型集合,这样来看话,应该很平常。只是原来 没提出来,没想到而已
这样有的结构好象C#2.0就可以实现了吧,为什么我当时没想到自己实现一个呢?
网上说这个东西和函数式编程设计思想有关,有了这样的东西,真的觉得很多类结构似乎没很必要存在了一样。网上说Tuple等于是一种固定成员的泛型集合,这样来看话,应该很平常。只是原来 没提出来,没想到而已
#10
Tuple常常译为“组元”,在大部分支持Tuple的语言中,常常表示成员数目确定,每个成员类型也确定的结构。常常用于表示函数的多个返回值或者查询的结果等。Tuple应当是强类型的,即所有成员的类型在编译时确定。比如,假想语法下
Dim t = New Tuple(Of String, Integer, Double)
那么t将具有三个成员,该数目无法改变;同时三个成员的类型分别为String, Integer和Double,也无法改变。如你所见,Tuple可以看作不用事先声明的结构体,可以根据所使用的场合灵活地创建。
Dim t = New Tuple(Of String, Integer, Double)
那么t将具有三个成员,该数目无法改变;同时三个成员的类型分别为String, Integer和Double,也无法改变。如你所见,Tuple可以看作不用事先声明的结构体,可以根据所使用的场合灵活地创建。
#11
F#这个语言是C#的升级吗。。我不知道。。
#1
唔知系咩
#2
帮顶,学习。
#3
额。。。。不知道什么玩意,下面的大神解释下。
#4
下面的大神解释下。
#5
[Serializable]
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, IComparable, ITuple
{
// Fields
private T1 m_Item1;
private T2 m_Item2;
// Methods
public Tuple(T1 item1, T2 item2)
{
this.m_Item1 = item1;
this.m_Item2 = item2;
}
string ITuple.ToString(StringBuilder sb)
{
sb.Append(this.m_Item1);
sb.Append(", ");
sb.Append(this.m_Item2);
sb.Append(")");
return sb.ToString();
}
int ITuple.Size
{
get
{
return 2;
}
}
// Properties
public T1 Item1
{
get
{
return this.m_Item1;
}
}
public T2 Item2
{
get
{
return this.m_Item2;
}
}
//More and more...
}
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, IComparable, ITuple
{
// Fields
private T1 m_Item1;
private T2 m_Item2;
// Methods
public Tuple(T1 item1, T2 item2)
{
this.m_Item1 = item1;
this.m_Item2 = item2;
}
string ITuple.ToString(StringBuilder sb)
{
sb.Append(this.m_Item1);
sb.Append(", ");
sb.Append(this.m_Item2);
sb.Append(")");
return sb.ToString();
}
int ITuple.Size
{
get
{
return 2;
}
}
// Properties
public T1 Item1
{
get
{
return this.m_Item1;
}
}
public T2 Item2
{
get
{
return this.m_Item2;
}
}
//More and more...
}
#6
这个不是和泛型、C++的模板有点一样了
#7
路过,学习!
#8
tuple 是F#的类库
#9
ITuple在那个名称空间里
这样有的结构好象C#2.0就可以实现了吧,为什么我当时没想到自己实现一个呢?
网上说这个东西和函数式编程设计思想有关,有了这样的东西,真的觉得很多类结构似乎没很必要存在了一样。网上说Tuple等于是一种固定成员的泛型集合,这样来看话,应该很平常。只是原来 没提出来,没想到而已
这样有的结构好象C#2.0就可以实现了吧,为什么我当时没想到自己实现一个呢?
网上说这个东西和函数式编程设计思想有关,有了这样的东西,真的觉得很多类结构似乎没很必要存在了一样。网上说Tuple等于是一种固定成员的泛型集合,这样来看话,应该很平常。只是原来 没提出来,没想到而已
#10
Tuple常常译为“组元”,在大部分支持Tuple的语言中,常常表示成员数目确定,每个成员类型也确定的结构。常常用于表示函数的多个返回值或者查询的结果等。Tuple应当是强类型的,即所有成员的类型在编译时确定。比如,假想语法下
Dim t = New Tuple(Of String, Integer, Double)
那么t将具有三个成员,该数目无法改变;同时三个成员的类型分别为String, Integer和Double,也无法改变。如你所见,Tuple可以看作不用事先声明的结构体,可以根据所使用的场合灵活地创建。
Dim t = New Tuple(Of String, Integer, Double)
那么t将具有三个成员,该数目无法改变;同时三个成员的类型分别为String, Integer和Double,也无法改变。如你所见,Tuple可以看作不用事先声明的结构体,可以根据所使用的场合灵活地创建。
#11
F#这个语言是C#的升级吗。。我不知道。。