我是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) 想象一种方法,它尝试在业务逻辑方面(针对特定情况)检索Db中应该存在的实体.
当我尝试通过我的存储库从Db中检索它时,如果我回来null,我应该抛出哪个异常?(我在想ObjectNotFoundException)
如何.csproj从命令提示符添加新文件?
我的一位同事在我们的代码中发现了一个问题,并且花了一段时间才能确切地查找正在发生的事情,但最好通过这个简单的例子来证明:
// 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)
从中解决这个问题很明显,从主线程到任何地方写入控制台都会允许后台线程写入控制台,但是我们很难理解为什么会发生这种情况.任何人都可以解释从主线程写到控制台的内容是什么,第一个片段没有?
我有两个字符串:
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)
我能做些什么来完成这项工作?
我也尝试屏蔽格式化字符串中的'/'符号,但它不太起作用.我的最终目标是使用'/'符号作为分隔符来获取日期.我想我可以使用DateTime.ToString(“dd/MM/yyyy”).Replace('.', '/'),但感觉有点过分.
我希望有人可以提供帮助.但每当我运行我的代码并尝试查看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) 当我们尝试使用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) 我有以下类和方法:
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)'不能与类型参数一起使用
我有一个关于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.accept和upper.apply是唯一可能的一个或如果有一些比较"的Java 8拉姆达"的风格,我们可以写的最后两行.