我需要一个返回Task<string>空字符串的方法
public static Task<string> AsyncTest()
{
return new Task<string>(() => string.Empty); //problem here
// this method would work:
// return new WebClient().DownloadStringTaskAsync(@"http://www.google.de");
}
public static void Workdl(string input)
{
Console.Write("OUT: " + input.Substring(0, 100));
}
Run Code Online (Sandbox Code Playgroud)
这个片段编译,但当我称之为
Task<string> dlTask = AsyncTest();
Workdl(await dlTask);
await Task.WhenAll(dlTask); //Task never completes
Run Code Online (Sandbox Code Playgroud)
它永远不会决定.
我有一个清单
List<string> sList = new List<string>() { "a","b","c"};
Run Code Online (Sandbox Code Playgroud)
目前我正在选择以下结构为字典:
//(1,a)(2,b)(3,c)
Dictionary<int, string> dResult = new Dictionary<int, string>();
for(int i=0;i< sList.Count;i++)
{
dResult.Add(i, sList[i]);
}
Run Code Online (Sandbox Code Playgroud)
但是对于Linq,我看到了一些更苗条的方式 ToDictionary((x,index) =>
如何在一行内解决正确的语法或如何解决?
我有2节课
[DataContract, KnownType(typeof(B))]
public class A
{
[DataMember]
public string prop1 { get; set; }
[DataMember]
public string prop2 { get; set; }
[DataMember]
public string prop3 { get; set; }
}
[DataContract]
public class B : A
{
[DataMember]
public string prop4 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以及以下方法:
List<B> BList = new List<B>();
BList = new List<B>() { new B() { prop1 = "1", prop2 = "2", prop3 = "3", prop4 = "4" } };
List<A> AList = BList.Cast<A>().ToList(); …Run Code Online (Sandbox Code Playgroud) 有没有办法通过不区分大小写的搜索来获取List中项目的索引?
List<string> sl = new List<string>() { "a","b","c"};
int result = sl.IndexOf("B"); // should be 1 instead of -1
Run Code Online (Sandbox Code Playgroud) 我有一个简化的字符串,"12345"它被排序.字符串couild包含数字(0-9)或字母(az).在混合使用的情况下,自然排序顺序.我需要一种方法来验证这是否属实.
使用linq技术尝试:
string items1 = "2349"; //sorted
string items2 = "2476"; //not sorted, 6<>7
bool sorted1 = Enumerable.SequenceEqual(items1.OrderBy(x => x), items1); //true
bool sorted2 = Enumerable.SequenceEqual(items2.OrderBy(x => x), items2); //false
Run Code Online (Sandbox Code Playgroud)
但也可能有降序排序.
那么有更好的方法吗?
string items3 = "4321";
bool sorted3 = Enumerable.SequenceEqual(items3.OrderBy(x => x), items3) || Enumerable.SequenceEqual(items3.OrderByDescending(x => x), items3);
Run Code Online (Sandbox Code Playgroud)
检查字符串是否已排序?也许一些内置的解决方案?
我知道如何在具有返回值的方法中产生值IENumerable
public IEnumerable<int> GetDigits()
{
yield return 1;
yield return 1;
yield return 1;
}
Run Code Online (Sandbox Code Playgroud)
但是嵌套的正确语法是怎样的IEnumerable<IEnumerable<int>>?
public IEnumerable<IEnumerable<int>> GetNestedDigits()
{
yield return yield return 1; //??
}
Run Code Online (Sandbox Code Playgroud) 我想重复.-40次并将其保存到string使用中StringBuilder
为什么这不起作用?
string result = new StringBuilder("").Append(".-",0,40).ToString();
Run Code Online (Sandbox Code Playgroud)
我知道其他解决方案,但我想使用StringBuilder