コード例 #1
0
            /// <summary>
            /// returns item at <paramref name="index"/> in <paramref name="array"/>
            /// if <paramref name="index"/>.HasValue, null otherwise.
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="array"></param>
            /// <param name="index"></param>
            /// <returns>
            /// item at <paramref name="index"/> in <paramref name="array"/>
            /// if <paramref name="index"/>.HasValue
            /// else null
            /// </returns>
            public static T GetItemAtIndexOrNull <T>(this T[] array, int?index) where T : class
            {
                T itemAtIndex;

                if (index.HasValue)
                {
                    int indexValue = index.GetValueOrDefault();

                    ListUtils.AssertItemIndexValid(indexValue, array, "index");

                    itemAtIndex = array[indexValue];
                }
                else
                {
                    itemAtIndex = null;
                }

                return(itemAtIndex);
            }