字符串的索引可以长吗?

时间:2016-03-16 01:37:01

标签: c#

我想知道我们是否可以将字符串的索引作为Long数据类型。

    var i=long.Parse(Console.ReadLine());
    var result = testString[i-1];

第二行给出了错误,说“'string.this [int]'的最佳重载方法匹配有一些无效的参数。”

3 个答案:

答案 0 :(得分:0)

不,它无法接受long。唯一的重载接受int索引器。您需要将代码更改为int.Parse()而不是long.Parse()

答案 1 :(得分:0)

没有办法将long作为数组的索引传递,编译器不允许这样做。

解决方法可以将long转换为int,这称为窄转换。

var result= testString[(int)i)];

答案 2 :(得分:0)

对于大多数集合类型,你不能使用long(你还没有指定testString是什么)。

解决这个问题的一种方法是将字符串分离为多部分/多维数组,然后使用乘数来获取要检查的数组部分。

例如: 你的索引是100,000,你有一系列短裤(长度为32,767)......

<?= Html::tag('span', '', [
   'class' => 'glyphicon glyphicon-bell' ,
   'aria-hidden' => true,
   'onclick' => "$('#YOUR_FORM_ID').yiiActiveForm('submitForm')" , 'cursor'
 ])?>

这可能不是最有效的方法,但它是一种解决方法。