我仍在掌握异步编程的过程中,并且对如何修改以下内容有些困惑:
基本虚拟方法:
public virtual async Task OnSuspendingAsync(object s, SuspendingEventArgs e)
{
// do some housekeeping actions upon suspending in the base class
await Task.Yield();
}
Run Code Online (Sandbox Code Playgroud)
覆盖方法:
public override Task OnSuspendingAsync(object s, SuspendingEventArgs e)
{
// do some housekeeping actions on exiting/suspending
return base.OnSuspendingAsync(s, e);
}
Run Code Online (Sandbox Code Playgroud)
问题:
现在,如果我在重写的方法中使用 awaitable(几乎不可避免),我需要通过添加关键字来更改public override Task
为public override async Task
,async
如下面的真实示例所示。
public override async Task OnSuspendingAsync(object s, SuspendingEventArgs e)
{
try
{
// tidy up app temporary folder on exit
await ApplicationData.Current.ClearAsync(ApplicationDataLocality.Temporary); …
Run Code Online (Sandbox Code Playgroud) string datestring = txtNewReminderRemindDate.Text.ToString() + " " + RemTime.ToString();
Run Code Online (Sandbox Code Playgroud)
所以我的约会时间是"17/5/2017 19:10:00"
我正在尝试将此字符串转换为我的通知.但是当我这样做时:
DateTime alarm = DateTime.ParseExact(datestring, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
我明白了:
Unhandled Exception:
System.FormatException: String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
我不明白我做错了什么.我甚至尝试这样做:
DateTime alarm= DateTime.Parse(datestring);
Run Code Online (Sandbox Code Playgroud) 我有以下课程:
public class Class1
{
private int pam1;
public Class1()
{
}
public void ChangePam1(int _NewValue)
{
UpdatePam1(_NewValue);
pam1 = _NewValue;
}
public int Pam1
{
set { this.pam1 = value; }
get { return this.pam1; }
}
}
Run Code Online (Sandbox Code Playgroud)
目前,当我想更改其值时Pam1
,我会执行以下操作:
int n = 500;
Class1 c1 = new Class1();
c1.ChangePam1(n);
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变它Set
?
有一个元组数组和对象列表定义为:
Tuple<string, string, string>[] phone_type
List<Tele> telecomm
public class Tele
{ public string number;
public string displayNumber;
public string type;
}
Run Code Online (Sandbox Code Playgroud)
我想将元素中存在的值分配给List<Tele>
元组数组.以下代码不起作用.
obj.phone_type[0] = (Tuple<string,string,string>) obj1.telecommunication[0];
Run Code Online (Sandbox Code Playgroud)
错误说cast是多余的,无法转换List
为Tuple<string,string,string>
是否有一种干净的方法将List的特定/所有元素分配给元组数组.
int[] arr1 = { 5, 4, 3, 2, 1 };
int[] arr2 = { 1, 2, 4, 5 };
for (int i = 0; i < arr1.Length; i++)
{
for (int j = 0; j < arr2.Length; j++)
{
if (arr1[i] == arr2[j])
{
//Console.Write(arr1[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
上述代码的输出:
5,4,2,1
我想要输出:
3
如何按其元素的第一列对以下列表进行排序?元素属于类型string[]
.
List<string[]> list = new List<string[]>();
Run Code Online (Sandbox Code Playgroud)