在c#中将最后一个索引字符串转换为索引对象



可以用下列方法访问列表/数组的最后一个下标:

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开始的索引。

stringIndex之间没有显式或隐式转换。


如果,出于某种原因你想从JSON中读取Index结构体,你可以存储两者,

int value

和可选的

bool fromEnd = false

并使用它们来实例化一个新实例。这比为包含索引表达式的字符串编写解析器要简单得多。

最新更新