小编Son*_*nül的帖子

如何在c#中用零初始化双维数组

我是c#的新手.我有二维数组.我想初始化0.

这是代码.我有一个错误Array.fill()

int N = elements;
int M N * 2;
int[,] amn = new int[M,N];
for(int i = 0; i < M; i++)
    Arrays.fill(amn[i], 0);
Run Code Online (Sandbox Code Playgroud)

c# arrays

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

如果Db中不存在请求的实体,我应该抛出哪个异常?

想象一种方法,它尝试在业务逻辑方面(针对特定情况)检索Db中应该存在的实体.

当我尝试通过我的存储库从Db中检索它时,如果我回来null,我应该抛出哪个异常?(我在想ObjectNotFoundException)

.net c# entity-framework exception

12
推荐指数
1
解决办法
6745
查看次数

12
推荐指数
2
解决办法
6335
查看次数

使用Task.Run()写入控制台失败

我的一位同事在我们的代码中发现了一个问题,并且花了一段时间才能确切地查找正在发生的事情,但最好通过这个简单的例子来证明:

// Fails
class Program
{
    static void Main(string[] args)
    {
        Task.Run(() => Console.WriteLine("Hello World"));
        Console.ReadKey();
    }
}

// Works fine
class Program
{
    static void Main(string[] args)
    {
        Console.Write(String.Empty);
        Task.Run(() => Console.WriteLine("Hello World"));
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)

从中解决这个问题很明显,从主线程到任何地方写入控制台都会允许后台线程写入控制台,但是我们很难理解为什么会发生这种情况.任何人都可以解释从主线程写到控制台的内容是什么,第一个片段没有?

c# .net-4.5

12
推荐指数
2
解决办法
2326
查看次数

如何将两个字符串(日期和时间)组合到单个DateTime

我有两个字符串:

string one = "13/02/09";
string two = "2:35:10 PM";
Run Code Online (Sandbox Code Playgroud)

我想将这两者结合在一起并转换为DateTime.

我尝试了以下但它不起作用:

DateTime dt = Convert.ToDateTime(one + " " + two);
DateTime dt1 = DateTime.ParseExact(one + " " + two, "dd/MM/yy HH:mm:ss tt", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

我能做些什么来完成这项工作?

c# string datetime parsing

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

DateTime ToString("dd/MM/yyyy")返回dd.MM.yyyy

我也尝试屏蔽格式化字符串中的'/'符号,但它不太起作用.我的最终目标是使用'/'符号作为分隔符来获取日期.我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/'),但感觉有点过分.

c# asp.net datetime

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

为什么我在列表框中获得"System.Data.DataRowView"而不是实际值?

我希望有人可以提供帮助.但每当我运行我的代码并尝试查看highscore我在列表框中返回的所有内容时System.Data.DataRowView.

谁能明白为什么?

码:

MySqlConnection myConn = new MySqlConnection(connStr);

string sqlStr = "SELECT CONCAT(Name, ' ', Score) as NameAndScore " + 
                "FROM highscore ORDER BY Score DESC";

MySqlDataAdapter dAdapter = new MySqlDataAdapter(sqlStr, myConn);
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dAdapter.Dispose();
lstNames.DisplayMember = "NameAndScore";
lstNames.DataSource = dTable;
Run Code Online (Sandbox Code Playgroud)

c# mysql winforms

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

无法使用MySql + MVC4查找或加载已注册的.Net Framework数据提供程序

当我们尝试使用Azure Mysql DB运行MVC4项目时,我们收到以下错误.

在Web.Config文件中,我们有以下内容,

<DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</DbProviderFactories>
Run Code Online (Sandbox Code Playgroud)

错误:

无法找到或加载已注册的.Net Framework数据提供程序.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.Configuration.ConfigurationErrorsException:无法找到或加载已注册的.Net Framework数据提供程序.

来源错误:

Line 96:             if (objectQuery != null && !string.IsNullOrEmpty(path))
Line 97:             {
Line 98:                 return objectQuery.Include(path);
Line 99:             }
Line 100:

Source File: C:\Phase2\FreeLance\FreeLance\Framework\Data\FreeLance.Data.Framework\EntityFramework\Extensions.cs    Line: 98 

Stack Trace: 


[ConfigurationErrorsException: Failed to find or load the registered .Net Framework Data Provider.]
   System.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow) +2238858
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +143
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +641
   System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name, …
Run Code Online (Sandbox Code Playgroud)

c# mysql entity-framework azure asp.net-mvc-4

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

在这种情况下,非泛型方法不能与类型参数一起使用是什么意思?

我有以下类和方法:

public class UserManager<TUser, TKey> : IDisposable
    where TUser : class, global::Microsoft.AspNet.Identity.IUser<TKey>
    where TKey : global::System.IEquatable<TKey> {

   public virtual Task<TUser> FindByIdAsync(TKey userId);
Run Code Online (Sandbox Code Playgroud)

和:

private ApplicationUserManager _userManager;
    public ApplicationUserManager UserManager
    {
        get
        {
            return _userManager ?? Request.GetOwinContext().GetUserManager<ApplicationUserManager>();
        }
        set
        {
            _userManager = value;
        }
    }

public class ApplicationUserManager : UserManager<ApplicationUser, int>
public class ApplicationUser : IdentityUser<int, CustomUserLogin, CustomUserRole, CustomUserClaim>
Run Code Online (Sandbox Code Playgroud)

我试图像这样调用这个方法:

var user = await UserManager.FindByIdAsync<ApplicationUser,int>(99);
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

非通用方法

'Microsoft.AspNet.Identity.UserManager.FindByIdAsync(int)'不能与类型参数一起使用

c#

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

在字符串上应用JDK 8 Consumer

我有一个关于Java 8的问题.这是我的源代码:

final Consumer<String> d = e -> System.out.println(e);
final Function<String, String> upper = x -> x.toUpperCase();
final Function<String, String> lower = x -> x.toLowerCase();

new Thread(() -> d.accept(upper.apply("hello 1"))).run();
new Thread(() -> d.accept(lower.apply("hello 2"))).run();
Run Code Online (Sandbox Code Playgroud)

这非常有效并产生以下输出:

HELLO 1
hello 2
Run Code Online (Sandbox Code Playgroud)

我的问题是,现在如果以上语法d.acceptupper.apply是唯一可能的一个或如果有一些比较"的Java 8拉姆达"的风格,我们可以写的最后两行.

java lambda java-8

12
推荐指数
2
解决办法
839
查看次数