【发布时间】:2016-08-17 10:18:21
【问题描述】:
问题1# 在执行以下代码时,它给了我一个格式错误。 System.double 不能转换成 System.string。
var PiePriorityCount = dt.AsEnumerable()
.GroupBy(item => item.Field<string>("Priority"))
.Select(item => new { Priority = item.Key, TicketCount = item.Count() });
dtPriorityCount.Columns.Add("Priority", typeof(string));
dtPriorityCount.Columns.Add("Count", typeof(int));
lblStatus.Visible = true;
foreach (var itm in PiePriorityCount)
{
//lblStatus.Text = "Z" + "->" + itm.TicketCount;
DataRow dr = dtPriorityCount.NewRow();
dr["Priority"] = "P" + " " +itm.Priority;
dr["Count"] = itm.TicketCount;
dtPriorityCount.Rows.Add(dr);
}
在执行上述代码时,它给了我一个格式错误。 System.double 不能转换成 System.string。
问题2#得到答案 在 Sting LOG 中,第一行包含 Status,第二行包含 Owned Group,第三行包含 Assigned Group。所以我希望子字符串在行尾之前是 After 状态。即分配(1)
它们可以按顺序洗牌。第一个不一定是状态,它可以是拥有的组或分配的组。
string LOG = "Status: Assigned (1) \n Owned Group: Jitesh - poiuyt \n Assigned Group: Jitesh - QWERTY";
string tb = "Status: ";
string tb1 = "Assigned Group: ";
int lenght = tb.Length;
int a = LOG.IndexOf(tb) + lenght;
int lenght1 = tb1.Length;
int a1 = LOG.IndexOf(tb1) + lenght1;
var status = LOG.Substring(a,'\n');
var status1 = LOG.Substring(a1, '\n');
预期输出:
状态 = 已分配 (1)
status1 = Jitesh - QWERTY
电流输出:
状态 = 已分配 (
status1 = Jitesh - Q
这是我所期待的,这就是我得到的。
【问题讨论】:
-
考虑选择一个更有意义的话题。
-
这只是令人困惑。听不懂最后一句话。请展示输出在没有任何 cmets 的情况下应该是什么样子。无法区分您的 cmets 和应该属于输出的部分。
-
您可以使用
Split:1) 与\n,然后2) 与:。LOG.Split('\n').Select(n => n.Split(':').LastOrDefault().Trim()).ToList()。您将有 2 个值,第一个是status,第二个是status1。