函数返回值如何对我来说是清楚的,只是为了启动:
int f()
{
int a = 2;
return a;
}
Run Code Online (Sandbox Code Playgroud)
现在a获取堆栈中的内存并且它的生命周期在其中f()以便返回它将值复制到一个特殊寄存器的值,该寄存器由调用者知道被调用者为他放置了值.(由于返回值持有者特殊寄存器大小的大小是有限的,这就是为什么我们不能返回大对象因此如果我们想要返回对象函数的高级语言实际上将堆中对象的地址复制到该特殊寄存器)
当我想返回一个不是指针的struct变量时,让我们回到C的情况:
struct inventory
{
char name[20];
int number;
};
struct inventory function();
int main()
{
struct inventory items;
items=function();
printf("\nam in main\n");
printf("\n%s\t",items.name);
printf(" %d\t",items.number);
getch();
return 0;
}
struct inventory function()
{
struct inventory items;
printf(" enter the item name\n ");
scanf(" %s ",&items.name );
printf(" enter the number of items\n ");
scanf("%d",&items.number );
return items;
}
Run Code Online (Sandbox Code Playgroud)
代码来自:https://stackoverflow.com/a/22952975/962545
这是交易,
让我们从main, …
正如您在此代码中看到的:
public async void TaskDelayTest()
{
while (LoopCheck)
{
for (int i = 0; i < 100; i++)
{
textBox1.Text = i.ToString();
await Task.Delay(1000);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它将文本框设置为i一秒钟的字符串值,直到我将LoopCheck值设置为false .但它的作用是它为所有人创建了所有迭代的内容,即使我将LoopCheck值设置为false,它仍然会执行它异步执行的操作.
我想Task.Delay()在设置时取消所有等待的迭代LoopCheck=false.我该如何取消?
在使用.net SDK阅读有关Azure媒体服务的所有正式文档之后
在音乐流应用程序中,我无法管理场景下的资产。
问题:-
那么,如果我想进行可伸缩的音乐流应用程序设计,应该如何管理资产?