当前位置:  开发笔记 > 编程语言 > 正文

数组访问的安全元素

如何解决《数组访问的安全元素》经验,为你挑选了2个好方法。

什么是访问数组元素,没有抛出安全的方法IndexOutOfRangeException,有点像TryParse,TryRead使用扩展方法或LINQ?



1> stomy..:

使用System.Linq ElementAtOrDefault方法.它处理超出范围的访问而不会抛出异常.它在索引无效的情况下返回默认值.

int[] array = { 4, 5, 6 };
int a = array.ElementAtOrDefault(0);    // output: 4
int b = array.ElementAtOrDefault(1);    // output: 5
int c = array.ElementAtOrDefault(-1);   // output: 0
int d = array.ElementAtOrDefault(1000); // output: 0



2> JaredPar..:

您可以使用以下扩展方法.

public static bool TryGetElement(this T[] array, int index, out T element) {
  if ( index < array.Length ) {
    element = array[index];
    return true;
  }
  element = default(T);
  return false;
}

例:

int[] array = GetSomeArray();
int value;
if ( array.TryGetElement(5, out value) ) { 
  ...
}

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有