可以用下列方法访问列表/数组的最后一个下标:
var l = new List<string> {"1", "2a", "3cd"};
Console.WriteLine(l[^1]);
输出:"3cd"
我可以知道是否可以将字符串^1
转换为索引对象:(第二行不工作)
var s = "^1"
var index = (Index) s;
Console.WriteLine(l[index]);
输出:"3cd"
要从末尾实例化一个Index
,请执行以下操作。
var index = new Index(1, true);
或
var index = Index.FromEnd(1);
var s = "^1"
只是生成一个使用'^'
字符的字符串,该字符可以在代码中使用,以表示从end开始的索引。
string
和Index
之间没有显式或隐式转换。
如果,出于某种原因你想从JSON中读取Index
结构体,你可以存储两者,
int value
和可选的
bool fromEnd = false
并使用它们来实例化一个新实例。这比为包含索引表达式的字符串编写解析器要简单得多。