列表<class>的列表<struct>是否合适?找一个更简单的类型?

时间:2015-09-16 13:35:08

标签: c# .net visual-studio-2010 class struct

我需要一个集合,其中此集合中的每个项目由2个字符串组成:RemotePath和LocalPath。因此,RemotePath可以是'/var/file/File1.txt',而LocalPath是'c:\ file \ File1.txt'。

最初,我们创建了一个这样的结构,并添加了这样的项目。我也可以使用一个类,但是

class

我也可以使用class,但我正在寻找更简单的类型。至少对我来说,存储两个简单字符串的classes似乎对这种用法来说是过度的。我使用结构,因为它更直接,但我倾向于避免它们(因此排队)。

我的问题:有没有更简单的方法可以在不使用structspublic static abstract class Adapter<VH> extends RecyclerView.Adapter<VH extends RecyclerView.ViewHolder> 的情况下完成此操作?

感谢。

2 个答案:

答案 0 :(得分:1)

使用class。一般来说,结构的建议是:

  

除非类型具有以下所有内容,否则不要定义结构   特性:

     
      
  • 它逻辑上表示单个值,类似于基本类型(整数,双精度等)。
  •   
  • 实例大小小于16个字节。
  •   
  • 这是不可改变的。
  •   
  • 不必频繁装箱。
  •   

Choosing Between Class and Struct中查看更多信息 When should I use a struct instead of a class?

答案 1 :(得分:0)

如果您不想声明单独的类或结构,则可以使用类Tuple<string, string>。那你有

var list = new List<Tuple<string, string>>(); 
list.Add(new Tuple<string, string>(@"c:\file\File1.txt", @"/var/file/File1.txt"));
var firstLocalFilePath = list[0].Item1; 
var firstRemoteFilePath = list[0].Item2;