Результат компиляции промежуточного значения строки - C#

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

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

Доброго дня форумчанам. Уж не знаю, как точнее назвать тему, потому, если кому-то не нравится - извольте. Заинтересовал вопрос, в какие инструкции компилируется следующий код:
string tmp = string.Empty;
List<string> someList = new List<string>(){ "Маша", "Даша", "Саша", "Юля", "Майя" }; //и пр.
for(int i = 0; i < 5; i++)
{
    tmp = List[i];
}
Мои размышления: 1) Либо при каждом обращении по индексу, создаётся новый экземпляр строки, куда копируются соответствующая из

List

, который, в свою очередь, копируется в

tmp

; 2) То же самое, что и в первом, только строки не копируются, а копируются указатели 3) При каждом обращении по индексу, полученное значение копируется сразу в

tmp

, без создания строки-посредника. 4) То же, что и в 4, только копируются не значения, а ссылки на уютное место в памяти? Проясните пожалуйста

Решение задачи: «Результат компиляции промежуточного значения строки»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2 {
    class Program {
        static void Main(string[] args) {
            string tmp = string.Empty;
            List<string> someList = new List<string>() { "Маша", "Даша", "Саша", "Юля", "Майя" };
            for (int i = 0; i < 5; i++) {
                tmp = someList[i];
            }
        }
    }
}

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


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

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

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