После создания или согласования динамической строки, как ее выполнить и получить данные на месте или подать строку данных - PullRequest
0 голосов
/ 24 октября 2018

Я буду работать с asp.net C #.когда я создаю строку времени выполнения (динамическую).После строки я пытаюсь передать данные вместо строки данных, но понятия не имею, поэтому, пожалуйста, предоставьте правильное решение. Ниже приведен мой код (код с примером)

protected string Replace_Tag(string Email_msg)
{
    try {

        }
       return  Email_msg ;
}

После выполнения этой функции результат найден ниже.(возвратите строку ниже)

"Просмотреть все детали" + drmail ["WorkName"]. ToString () + "эта задача работает" + drmail ["Cjworkmode"]. ToString ()+ "-" + drmail ["Cjtimeperiod"]. ToString () + ""

Это строка, так как я могу выполнить эту строку для цикла for и получить правильные данные.

Для цикла

string cast_data = Replace_Tag(EditorEmail.Content);
    foreach (DataRow drmail in Get_Tab_Data().Tables[0].Rows)
    {
        String Vie_Data = cast_data;
    }

В этом цикле для получения нижеследующего результата.

  • Просмотр всех деталей XYZ, с которым работает это задание ABC - 2018
  • Просмотр всехподробности ABC это задание работает ABC - 2019
  • Просмотреть все подробности EFG это задание работает MZP - 2017

1 Ответ

0 голосов
/ 24 октября 2018

Этот принцип называется «шаблонизация строк».Проведите исследование, чтобы найти существующие решения.Если вы не хотите использовать существующие решения, сверните свое собственное.

Вы можете сделать это, введя заполнители в строку шаблона:

var templateString = "View all the details {WorkName} this task is working {Cjworkmode} - {Cjtimeperiod}";

Не путать с интерполяцией строк,поскольку эти заполнители не известны во время компиляции.

Затем, например, используя регулярное выражение, найти все совпадения в строке:

var placeHolderRegEx = new Regex(@"(\{([a-z]+)\})", RegexOptions.IgnoreCase);

// Copy the string to be templated  
var output = templateString;

foreach (Match match in placeHolderRegEx.Matches(templateString))
{
    // Replace each instance of `{x}` with the value of `drmail[x]`.
    output = output.Replace(match.Groups[1].Value, drmail[match.Groups[2].Value]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...