在我的 asp.net 应用程序中,我正在调用我添加到应用程序中的 nuget 包的一些异步方法。现在我有一个同步方法,我需要调用我添加的 .dll 的异步方法。因此,我调用了这些方法并检索结果,我使用了
var value = myDllClient.MyMethod().GetAwaiter().GetResult(); 和
var value = myDllClient.MyMethod().Result;,
但这些都不适合我,但线程进入永无止境的过程。我从未收到过任何东西所以我使用了
var value = Task.Run(async ()=> wait myDllClient.MyMethod()).Result;
令人惊讶的是工作正常。我不知道它的运作如何?谁能帮我解开这个谜团?
提前致谢
当我尝试循环枚举数列表时,如何获取下一个和上一个值。请找到以下代码。
public static void Main()
{
List<string> mylist = new List<string>();
mylist.Add("C#");
mylist.Add("Java");
mylist.Add("C");
mylist.Add("C++");
// To get an Enumerator
// for the List.
List<string>.Enumerator em = mylist.GetEnumerator();
display(em);
}
static void display(IEnumerator<string> em)
{
while (em.MoveNext()) {
string val = em.Current; // Want to know Next and Previous values of current value.
Console.WriteLine(val);
}
}
Run Code Online (Sandbox Code Playgroud) 物业:
public double TotalFee
{
get { return totalfee; }
set
{
if ((course == "C#") || (course == "c#")) { totalfee = 2000; }
else { totalfee = 3000; }
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为totalfee的变量: ' private double totalfee;' ,其中我在开始时没有分配任何值,当我在我的程序中调用该属性时返回 0。即使我为totalfee提供了一个预值,它也只会返回该值,而不会满足我的任何条件制作。这个想法是,当用户输入课程时:c# 它将返回totalfee 2000的值;如果他输入另一门课程,它将返回totalfee 3000的值。:/
检查了脚本但仍然没有解决
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Scoreboard : MonoBehaviour
{
public GameObject[] stars;
private int coinsCount;
void Start()
{
coinsCount = GameObject.FindGameObjectsWithTag("coin").Length;
}
public void starsAcheived()
{
int coinsLeft = GameObject.FindGameObjectsWithTag("coin").Length;
int coinsCollected = coinsCount - coinsLeft;
float percentage = float.Parse( coinsCollected.ToString()) / float.Parse(coinsCount.ToString()) * 100f;
if (percentage >= 33f && percentage < 65)
{
stars[0].SetActive(true);//one stars
}
else if (percentage >= 65 && percentage < 76)
{
stars[0].SetActive(true);
stars[1].SetActive(true);// two stars
}
else (percentage>= 76)
{ …
Run Code Online (Sandbox Code Playgroud)