Динамическое подтягивание значения переменных в строку

Программирование на Юнити.

Динамическое подтягивание значения переменных в строку

Сообщение Woland 06 май 2021, 22:16

Привет!
К примеру, есть 2 строки, в эти строки я хочу подтянуть значение из двух переменных (для каждой строки своя переменная). То есть к примеру строки выглядят следующим образом:

string s1="Blablabla {var1}";
string s2="Blablabla {var2}";

При этом сами строки задаются в стороннем файле, из которого я читаю при запуске приложения.

Эти строки я хочу вернуть в методе

string ReturnMyString()
{
....
return string.Format($s1);
}

Это, понятное дело, не работает. Есть какой-нибудь вариант, как можно организовать такую систему?
Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Динамическое подтягивание значения переменных в строку

Сообщение 1max1 06 май 2021, 23:35

Ты же после чтения можешь спокойно сделать str.Replace по ключу {key}, к примеру:
Синтаксис:
Используется csharp
int a = 123;
string str = "asd {key}";
string new_str = str.Replace("{key}", a.ToString());
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Динамическое подтягивание значения переменных в строку

Сообщение Woland 07 май 2021, 00:07

Откуда я знаю, что нужно брать именно переменную а? Может, мне нужна переменная b? Тут в том и дело, что я в самой строке хочу указать, какая переменная мне нужна (или переменные, их в строке может быть несколько). Склоняюсь к рефлексии, но, может, есть варианты получше.
Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Динамическое подтягивание значения переменных в строку

Сообщение 1max1 07 май 2021, 11:31

Ну да, рефлексия тогда. Потому что переменную нужно получить по имени, а кроме как рефлексией ее не получить.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11