小编Mou*_*Mou的帖子

关于Task.Start(),Task.Run()和Task.Factory.StartNew()的使用

我刚看到3个关于TPL使用的例程,它们执行相同的工作; 这是代码:

public static void Main()
{
    Thread.CurrentThread.Name = "Main";

    // Create a task and supply a user delegate by using a lambda expression. 
    Task taskA = new Task( () => Console.WriteLine("Hello from taskA."));
    // Start the task.
    taskA.Start();

    // Output a message from the calling thread.
    Console.WriteLine("Hello from thread '{0}'.", 
                  Thread.CurrentThread.Name);
    taskA.Wait();
}

public static void Main()
{
    Thread.CurrentThread.Name = "Main";

    // Define and run the task.
    Task taskA = Task.Run( () => Console.WriteLine("Hello from taskA."));

    // Output a …
Run Code Online (Sandbox Code Playgroud)

.net c# task-parallel-library async-await

129
推荐指数
2
解决办法
6万
查看次数

如何将表格水平和垂直放置在div的中心

我们可以将图像设置为类似的背景图像<div>:

<style>
    #test { 

        background-image: url(./images/grad.gif); 
        background-repeat: no-repeat;
        background-position: center center; 

        width:80%; 
        margin-left:10%; 
        height:200px; 
        background-color:blue;

    }

</style>

<div id="test"></div>
Run Code Online (Sandbox Code Playgroud)

我需要在<div>水平和垂直的中心设置一个表格.是否有使用跨浏览器的解决方案CSS

css

120
推荐指数
6
解决办法
24万
查看次数

需要了解SemaphoreSlim的用法

这是我的代码,但我不明白SemaphoreSlim在做什么.

async Task WorkerMainAsync()
{
  SemaphoreSlim ss = new SemaphoreSlim(10);
  List<Task> trackedTasks = new List<Task>();
  while (DoMore())
  {
    await ss.WaitAsync();
    trackedTasks.Add(Task.Run(() =>
              {
                DoPollingThenWorkAsync();
                ss.Release();
              }));
  }
  await Task.WhenAll(trackedTasks);
}

void DoPollingThenWorkAsync()
{
  var msg = Poll();
  if (msg != null)
  {
    Thread.Sleep(2000); // process the long running CPU-bound job
  }
}
Run Code Online (Sandbox Code Playgroud)

等待ss.WaitAsync(); & ss.Release();做什么?

我想如果我一次运行50个线程然后编写代码SemaphoreSlim ss = new SemaphoreSlim(10);那么它将被迫在时间运行10个活动线程.

当10个线程中的一个完成然后另一个线程将启动....如果我不对,那么请帮助我理解样本情况.

为什么需要等待使用ss.WaitAsync();?怎么ss.WaitAsync();办?

c# multithreading semaphore task-parallel-library

62
推荐指数
3
解决办法
5万
查看次数

LINQ和分页

我们需要使用LINQ从数据库中获取数据.我们现在需要实施分页.

我想一次我们需要一次获取10记录,当我们点击Next按钮然后它将10从db 获取下一条记录.

请指导我代码.谢谢

c# linq-to-sql

30
推荐指数
3
解决办法
3万
查看次数

在ASP.Net MVC 6中使用Tag Helpers有什么好处

道歉,我在asp.net mvc中表现得不是很好,我想承认.我刚刚从这个网址上看到了一个很好的写入asp.net 5新功能.

从那里我听到一个叫做的术语Tag Helpers in ASP.Net MVC 6,我看到有人在开发人员创建表单之前说:

@model MyProject.Models.Product

@using (Html.BeginForm())
{
    <div>
        @Html.LabelFor(m => p.Name, "Name:")
        @Html.TextBoxFor(m => p.Name)
    </div>
    <input type="submit" value="Create" />
}
Run Code Online (Sandbox Code Playgroud)

现在人们可以通过以下方式使用标记助手进行相同的编码

@model MyProject.Models.Product
@addtaghelper "Microsoft.AspNet.Mvc.TagHelpers"

<form asp-controller="Products" asp-action="Create" method="post">
    <div>
        <label asp-for="Name">Name:</label>
        <input asp-for="Name" />
    </div>

    <input type="submit" value="Save" />
</form>
Run Code Online (Sandbox Code Playgroud)

他们使用一些新的语法,asp-controller, asp-for etc但它会做什么?如何以及为什么人们会因使用这种新语法而受益asp-controller, asp-for etc.

所以请一些人帮助我理解这个新的标签助手概念以及它如何使开发人员的生活更轻松.谢谢.

asp.net-core-mvc asp.net-core

30
推荐指数
3
解决办法
9814
查看次数

.NET 4中的延迟初始化

什么是延迟初始化.这是我搜索谷歌后得到的代码.

class MessageClass
{
    public string Message { get; set; }

    public MessageClass(string message)
    {
        this.Message = message;
        Console.WriteLine("  ***  MessageClass constructed [{0}]", message);
    }
}

Lazy<MessageClass> someInstance = new Lazy<MessageClass>(
    () => new MessageClass("The message")
    );
Run Code Online (Sandbox Code Playgroud)

我为什么要以这种方式创建对象....实际上我们需要以这种方式创建对象......寻找答案.

c# .net-4.0 c#-4.0

26
推荐指数
3
解决办法
2万
查看次数

$ root和$ parent有什么区别?

我正在学习KnockoutJS,但我不明白$root$parent使用之间的区别.请参阅此jsfiddle,或以下代码:

<div data-bind="foreach:mainloop">
    $data Value: <span data-bind="text:$data.firstName"></span> 
                  <span data-bind="text:$data.lastName"></span> --(1)

    <br/>
    $parent Value: <span data-bind="text:firstName"> </span> 
                   <span data-bind="text:$parent.lastName"></span>
    <br/>
    $root Value: <span data-bind="text:firstName"></span>
                 <span data-bind="text:$root.lastName"></span>
    <br/>
        <hr/>
</div>
Run Code Online (Sandbox Code Playgroud)
var mainLoopModel = function () {
    var self = this; // Root Level scope
    self.mainloop = ko.observableArray([{
        'firstName': 'jhon'
    }, {
        'firstName': 'sam'
    }]);
    self.lastName = ko.observable('peters');
    /*if you remove $data before lastName in note (1) you get undefined error because because mainloop dont have lastName …
Run Code Online (Sandbox Code Playgroud)

knockout.js

20
推荐指数
1
解决办法
2万
查看次数

如何使用linq查询LIST

假设我将人类实例添加到列表然后我需要使用linq查询列表.

List lst=new List();
lst.add(new person{ID=1,Name="jhon",salaty=2500});
lst.add(new person{ID=2,Name="Sena",salaty=1500});
lst.add(new person{ID=3,Name="Max",salaty=5500});
lst.add(new person{ID=4,Name="Gen",salaty=3500});
Run Code Online (Sandbox Code Playgroud)

现在我想用linq查询上面的列表.请指导我的示例代码.

c# linq-to-objects

18
推荐指数
4
解决办法
10万
查看次数

如何并行运行两个线程?

我按下一个按钮启动两个线程,每个线程调用一个单独的例程,每个例程将打印线程名称和值i.

程序运行完美,但我看到Thread1()函数先运行然后Thread2()例程启动,但我尝试运行Thread1()并且Thread2()两者并行运行.我哪里弄错了?

private void button1_Click(object sender, EventArgs e)
{
    Thread tid1 = new Thread(new ThreadStart(Thread1));
    Thread tid2 = new Thread(new ThreadStart(Thread2));

    tid1.Start();
    tid2.Start();
    MessageBox.Show("Done");
}

public static void Thread1()
{
    for (int i = 1; i <= 10; i++)
    {
    Console.Write(string.Format("Thread1 {0}", i)); 
    }
}

public static void Thread2()
{
    for (int i = 1; i <= 10; i++)
    {
    Console.Write(string.Format("Thread2 {0}", i)); 
    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

14
推荐指数
3
解决办法
4万
查看次数

根据WPF中的TextBox Text属性启用/禁用按钮?

我正在通过谷歌寻找代码,根据文本框中的文本属性启用和禁用按钮.如果文本框中有一些文本,则应启用该按钮,否则应禁用该按钮.

我得到了一些代码,但代码在xaml但没有c#.我无法理解它是如何工作的.

请帮我理解以下代码的行为:

<TextBox Name="txtName" Width="100" Height="30"></TextBox>

<Button Content="Add Name " Width="100" Height="30" 
  IsEnabled="{Binding ElementName=txtName, Path=Text.Length, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)

IsEnabled按钮属性如何工作?如何将true和false设置为IsEnabled属性?路径是什么?它是如何工作的?

data-binding wpf xaml

13
推荐指数
1
解决办法
4万
查看次数