为给定字符串的游程长度编码编写代码
示例输入:aaaaaaaaaabcccccc
输出:a10bc6
我的代码:
static void Main(string[] args)
{
string str = "aaaaaaaaaabcccccc";
var qry = (from c in str
group c by c into grp
select new
{
output = grp.Key.ToString() + grp.Count().ToString()
});
StringBuilder sb = new StringBuilder();
foreach (var item in qry)
{
sb.Append(item.output);
}
Console.WriteLine(sb.ToString());
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
然而它返回:
a10b1c6
我想删除非重复字符的计数,这里是字母“b”的“1”。
假设它是一个已排序的字符串。
这是个问题.我正在开发一个名为CreateCounters的方法,它将为应用程序创建性能计数器.该方法包括以下代码.
void CreateCounters()
{
if(!PerformanceCounterCategory.Exists("Contoso"))
{
var counters = new CounterCreateationDataCollection();
var ccdCounter1 = new CounterCreationData
{
CounterName = "Counter1";
CounterType = PerformanceCounterType.SampleFraction;
};
counters.Add(ccdCounter1);
var ccdCounter2 = new CounterCreationData
{
CounterName = "Counter2";
// need insert PerformanceCounterType
};
counters.Add(ccdCounter2);
PerformanceCounterCategory.Create("Contoso","Help dtring",
PerformanceCounterCategoryType.MultiInstance, counters);
}
}
Run Code Online (Sandbox Code Playgroud)
我需要确保Counter1可用于Windows性能监视器(PerfMon).你应该插入哪个代码段?
有四种选择.
A. CounterType = PerformanccCounterType.RawBase
B. CounterType = PerformanceCounterType.AverageBase
C. CounterType = PerformanceCounterType.SampleBase
D. CounterType = PerformanceCounterType.CounterMultiBase
Run Code Online (Sandbox Code Playgroud)
我不知道是哪一个,为什么?
我想隐藏 kendo-ui 网格的标题行。通过Telerik 论坛上的这个答案, 我应用了这种风格。
.k-grid-header{
display: none;
}
Run Code Online (Sandbox Code Playgroud)
但标题仍然显示。这意味着该样式未应用。
我在父组件中有一个提交按钮。我也有几个子组件。现在我想启用按钮以在验证通过后将表单的所有值保存在所有子组件中。在父组件中,我创建了表单组。
public mainForm: FormGroup;
Run Code Online (Sandbox Code Playgroud)
在父组件的构造函数中,
constructor(private fb: FormBuilder) {
this.mainForm = this.fb.group({
child1Form: this.fb.group({
projectName: [null, Validators.required],
projectSource: [null, Validators.required]
});
});
}
Run Code Online (Sandbox Code Playgroud)
在父 html 中,我们将表单传递给子级。
<div>
<app-child1 [child1Form]="mainForm.controls['child1Form']"></app-child1>
</div>
Run Code Online (Sandbox Code Playgroud)
在子组件html中,代码为:
<form [formGroup]="child1Form">
<div>
<input [(ngModel)]="projectName" formControlName="projectName">
</div>
<div>
<input [(ngModel)]="projectSource" formControlName="projectSource">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
在子组件的 ts 文件中,我们使用来自父组件的表单。
@Input() child1Form: any;
Run Code Online (Sandbox Code Playgroud)
我想要的是在ngOnInit父组件的,检查表单验证。
ngOnInit() {
this.mainForm.statusChanges.subscribe(data => {
const f = this.mainForm.controls['child1Form'];
if(f.valid || f.dirth)
// do something such as enable/disable the submit button
});
}
Run Code Online (Sandbox Code Playgroud)
但是我的问题是statusChanges即使我更改了子组件的输入控件中的文本,代码也没有到达部分。我假设当我输入某些内容时,表单的值或状态会发生变化,以便我可以进行验证。