Вывести имя массива - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Вопрос такой, нужно найти элемент в массиве, и если он есть, вывести название этого массива например mas1, возможно ли такое реализовать?

Решение задачи: «Вывести имя массива»

textual
Листинг программы
using System;
using System.Linq.Expressions;
 
namespace Ghost
{
    class Program
    {
        /// <summary>
        /// Анальный фистинг
        /// </summary>
        /// <typeparam name="T">Тип элементов массива</typeparam>
        /// <param name="func">Выражение возвращающее массив виде () => массив</param>
        /// <param name="item">Элемент, который необходимо найти в массиве</param>
        static void Find<T>(Expression<Func<T[]>> func, T item)
        {
            LambdaExpression lambda = (LambdaExpression)func;
            T[] array = (T[])lambda.Compile().DynamicInvoke();
            int index = Array.IndexOf<T>(array, item);
            
            if (index > -1)
            {
                Console.WriteLine("Индекс {0}", index);
                Console.WriteLine(
                    "Название массива {0}",
                    ((MemberExpression)lambda.Body).Member.Name);
            }
        }
 
        static void Main(string[] args)
        {
            int[] array111 = new int[] { 1, 2, 3 };
            Find<int>(() => array111, 2);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы