我需要一个集合,其中此集合中的每个项目由2个字符串组成:RemotePath和LocalPath。因此,RemotePath可以是'/var/file/File1.txt',而LocalPath是'c:\ file \ File1.txt'。
最初,我们创建了一个这样的结构,并添加了这样的项目。我也可以使用一个类,但是
class
我也可以使用class
,但我正在寻找更简单的类型。至少对我来说,存储两个简单字符串的classes
似乎对这种用法来说是过度的。我使用结构,因为它更直接,但我倾向于避免它们(因此排队)。
我的问题:有没有更简单的方法可以在不使用structs
或public static abstract class Adapter<VH> extends RecyclerView.Adapter<VH extends RecyclerView.ViewHolder>
的情况下完成此操作?
感谢。
答案 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;