小编Ehs*_*jad的帖子

如何循环并将项添加到comboBox,以便从1到8开始?

for (int xx = 0; xx < piCount; xx++)
{
    comboBox1.Items.Add(xx);
}
Run Code Online (Sandbox Code Playgroud)

piCount是int.它的值是8.如果我从0开始我将在comboBox 01234567中看到但我想看到12345678

.net c# winforms

-1
推荐指数
1
解决办法
565
查看次数

为什么有些异步方法是同步执行的

请看这段代码:

class Program
{
    static async void DoStuff()
    {
        StreamWriter s = new StreamWriter("a.txt");
        WebClient wc = new WebClient();
        await wc.DownloadStringTaskAsync(new Uri("http://www.microsoft.com"));  //1
        //await s.WriteAsync ("123");                                           //2
        Thread.Sleep(10000);
        Console.WriteLine("DoStuffEnd");
    }
    static void Main(string[] args)
    {
        Program.DoStuff();
        Console.WriteLine("MainEnd");
        Console.Read();
    }

}
Run Code Online (Sandbox Code Playgroud)

根据async/await的逻辑,在这种情况下一切正常.

输出:

  • MainEnd

  • 10秒后

  • DoStuffEnd

但如果我评论(1)和取消注释(2),输出是:

  • 10秒后

  • DoStuffEnd

  • MainEnd

为什么?

c# asynchronous async-await

-1
推荐指数
1
解决办法
85
查看次数

如何覆盖属性

在基础LocalStorage中

 public class BaseStorageRepository<T> 
{
    protected string OneKey = null;
    protected string ListKey = null;

    public async Task UpdateAllAsync(List<T> data)
    {
        await BlobCache.LocalMachine.InsertObject(ListKey, data);
    }
}
Run Code Online (Sandbox Code Playgroud)

在孩子

public class CompanyStorageRepository : BaseStorageRepository<Company>
{
    protected new string OneKey = "Company";
    protected new string ListKey = "CompaniesList";
}
Run Code Online (Sandbox Code Playgroud)

执行时

UpdateAllAsync
Run Code Online (Sandbox Code Playgroud)

然后OneKey == null; 但为什么 ?毕竟,我在派生类中重新定义了属性

c# xamarin

-1
推荐指数
1
解决办法
69
查看次数

C# 接口作为数据类型

大家好,我正在尝试学习一些界面。我得到了关于它的基本知识,那是一个班级的合同。我现在对接口作为数据类型有点困惑。

问题:使用接口作为数据类型的目的是什么。

前任。

IEnumerable Folders {get;} 
Run Code Online (Sandbox Code Playgroud)

或者

IComparable Compare {get;}
Run Code Online (Sandbox Code Playgroud)

如果我是正确的,IEnumerable 也是一个接口。值类型保存在何处(如果有)?

谢谢

c#

-1
推荐指数
1
解决办法
947
查看次数

将SELECT COUNT(*)语句结果放入int变量

我有一个SELECT COUNT(*)声明,C#/ASP.NET我想将结果存储为int用作IF条件.但是我在visual studio中遇到错误:

错误:System.Data.SqlClient.SqlException(0x80131904):数据类型text和varchar在等于运算符中不兼容.在System.Data.SqlClient.SqlConnection.

它告诉我它发生在int temp行.我在数据库表中访问的列是文本类型.

conn.Open();    
String checkEmail = "select count(*) from Players where PlayerEmail= '" + txtEmailLogIn.Text + "'";
SqlCommand com = new SqlCommand(checkEmail, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp > 0) 
{

}
Run Code Online (Sandbox Code Playgroud)

c# sql visual-studio

-2
推荐指数
1
解决办法
1452
查看次数

为什么SelectMany()没有将string []展平为char []

我只是想了解如何LINQ的作品,并尝试不同的东西来测试Count(),GroupBy(),SelectMany().我被困在一个场景,我不明白为什么SelectMany()不平光的string[],以char输入.

这是代码:

string s = "A quick brown fox jumps over the lazy dog".ToLower();
char[] arratchar = s.ToCharArray();
var data= arratchar.GroupBy(x=>x).Select(y=> new {Alphabet = y.Key,Count = y.Count()});
Run Code Online (Sandbox Code Playgroud)

这完全返回字符串中的字母数.

当我做这样的,它返回的次数:

string s = "A quick brown fox jumps over the lazy dog".ToLower();
var countofA = s.Count(x => x == 'a');
Run Code Online (Sandbox Code Playgroud)

但是现在我正在尝试测试它SelectMany(),我知道它会使Collection内的Collection变平,但是在这种情况下它不起作用,这是我写的代码:

string[] s = "A quick brown fox jumps over the lazy dog".ToLower().Split(' ') ; …
Run Code Online (Sandbox Code Playgroud)

c# linq

-3
推荐指数
1
解决办法
2730
查看次数

标签 统计

c# ×6

.net ×1

async-await ×1

asynchronous ×1

linq ×1

sql ×1

visual-studio ×1

winforms ×1

xamarin ×1