【发布时间】:2016-10-08 22:33:07
【问题描述】:
我正在考虑根据用户所属的类别构建某种用户名的应用程序。当我尝试从表中包含的规则生成此用户名时,问题就开始了。
例子:
数据数据表
| ID | Name | City | Level | Rule |
|----|-------|--------|--------|------|
| 1 | John | London | A | 1 |
| 2 | Chris | Paris | C | 1 |
| 3 | Anna | Madrid | B | 3 |
| 4 | Marie | Roma | C | 2 |
规则数据表
| Rule | Format |
|------|-----------------------------|
| 1 | "Name + City" |
| 2 | "Name[0] + City[0] + Level" |
| 3 | "Name[0] + \".\" + City" |
我想得到一个最终结果:
| ID | Username |
|----|------------|
| 1 | JonhLondon |
| 2 | ChrisParis |
| 3 | A.Madrid |
| 4 | MRC |
所以我在想是否有一个很好的方法可以使用规则表中包含的字符串作为模板来构建用户名:
string Name = dtData[i].Name;
string City = dtData[i].City;
string Level = dtData[i].Level;
string u = SomeGreatMethodToEvaluate(dtRules[dtData[i].Rule].Format);
dtFinal[i].Username = u;
对不起,如果我解释得不够好,但这对我来说是一件棘手的事情。
【问题讨论】:
-
我认为你已经很好地解释了你的问题,问题是我认为没有论文就无法回答这个问题 - 这完全太宽泛了。
-
如果您需要模板,Razor 非常有效nuget.org/packages/RazorEngine,如果您想编写自己的模板语法超出了这里的答案范围,祝您好运。如果任务很简单,只需使用格式字符串。
标签: c# string string-concatenation