小编Tam*_*red的帖子

Object.GetType()源代码

如何object.GetType()在.NET中实现?

.net

5
推荐指数
1
解决办法
489
查看次数

为什么我不能修改取消装箱转换的结果?

struct Point
{
    public int x;
    public int y;
}
void Main()
{
    Point p;
    p.x = 1;
    p.y = 1;
    Object o = p;
    ((Point) o).x = 4; // error
    ((Point) o).x = 5; // error
    ((Point) o).x = 6; // error
    p = (Point) o  // expect 6
}
Run Code Online (Sandbox Code Playgroud)

为什么不编译

ldloc.1 // o
unbox Point
ldc.i4.4
stfld Point.x
Run Code Online (Sandbox Code Playgroud)

C++ CLI允许的地方.

对于那些不知道是谁,unbox不是需要创建的副本值类型,而是推的指针值到堆栈.只有分配才能创建副本.

c# il boxing unboxing

5
推荐指数
1
解决办法
3722
查看次数

注册后在用户详细信息中输入

我正在尝试在asp.net中使用C#注册用户,然后将他们的详细信息放入我的数据库中.一切似乎工作正常,但细节不会进入数据库.这是我到目前为止所拥有的:

protected void CreateUser_Click(object sender, EventArgs e)
{
    var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
    var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>();
    var user = new ApplicationUser() { UserName = Email.Text, Email = Email.Text };
    IdentityResult result = manager.Create(user, Password.Text);

    if (result.Succeeded)
    {
        signInManager.SignIn( user, isPersistent: false, rememberBrowser: false);
        IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
        manager.AddToRole(user.Id, "users");

        string connectionString = WebConfigurationManager.ConnectionStrings["MyDatabaseConnection"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);
        string sql;
        sql = "INSERT INTO users (username, title, gname, sname, dob, address, suburb, state, postcode, phone, email) VALUES (@UserName, @Title1, @FirstName, @FamilyName, @DateOfBirth, …
Run Code Online (Sandbox Code Playgroud)

c# sql asp.net

5
推荐指数
1
解决办法
361
查看次数

抛出可观察的LINQ不一致异常

在我写一个股市交易员的过程中,IObserver我遇到了三个错误,这些错误主要来自Reactive Extensions图书馆内部.

我有以下CompanyInfo课程:

public class CompanyInfo
{
    public string Name { get; set; }

    public double Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

还有一个IObservable<CompanyInfo>StockMarket:

public class StockMarket : IObservable<CompanyInfo>
Run Code Online (Sandbox Code Playgroud)

Observer看起来如下:

public class StockTrader : IObserver<CompanyInfo>
{
    public void OnCompleted()
    {
        Console.WriteLine("Market Closed");
    }

    public void OnError(Exception error)
    {
        Console.WriteLine(error);
    }

    public void OnNext(CompanyInfo value)
    {
        WriteStock(value);
    }

    private void WriteStock(CompanyInfo value) { ... }
}
Run Code Online (Sandbox Code Playgroud)

我运行以下代码:

StockMarket market = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq system.reactive observable

5
推荐指数
1
解决办法
511
查看次数

将循环更改为Parallel.For循环

我可以改变我的循环

for (int i = 0; i < something; i++)
Run Code Online (Sandbox Code Playgroud)

至:

Parallel.For(0, something, i =>
Run Code Online (Sandbox Code Playgroud)

但是如何用这个循环做到这一点?:

for (i = 3; i <= something / 2; i = i + 2)
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

.net c# parallel-processing for-loop parallel.for

5
推荐指数
1
解决办法
1232
查看次数

在LINQ中按月和年分组多个日期属性

我需要按月和按年分组多个属性 C# LINQ

这是我的代码:

public class Class1
{
    public Nullable<DateTime> dt1 { get; set; }
    public Nullable<DateTime> dt2 { get; set; }
}

Class1 obj1 = new Class1 { dt1 = new DateTime(2012, 11, 12),
                           dt2 = new DateTime(2012, 12, 12) };
Class1 obj2 = new Class1 { dt1 = new DateTime(2012, 11, 12),
                           dt2 = new DateTime(2012, 12, 12) };
Class1 obj3 = new Class1 { dt1 = null, dt2 = new DateTime(2012, 10, 12) };
Class1 obj4 = …
Run Code Online (Sandbox Code Playgroud)

.net c# linq grouping datetime

5
推荐指数
1
解决办法
1970
查看次数

如果多个条目具有相同的值,List.OrderBy()的结果是什么?

我正在与一个奇怪的行为OrderBy()的方法Lists.

想象一下,你有一个List,每个人都拥有Firstname,LastnameGender.如果此列表中的所有人都是Gender "m",那么每次调用后我都会得到不同的排序

list.OrderBy(p => p.Gender)
Run Code Online (Sandbox Code Playgroud)

但我不希望我的列表在每次刷新时跳转.有什么想法吗?

.net c# list

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

Reflection .NET Core创建Lambda表达式

我正在尝试创建一个lambda表达式(使用Reflection),看起来像这样

IServiceProvider provider => provider.GetService<TDbContext>()
Run Code Online (Sandbox Code Playgroud)

或者,更具体地说,作为GetService一种扩展方法:

provider => ServiceProviderServiceExtensions.GetService<TDbContext>(provider)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

 var methodInfo = typeof(ServiceProviderServiceExtensions).
                GetTypeInfo().
                GetMethod("GetService").
                MakeGenericMethod(typeof(TDbContext));

        var lambdaExpression = Expression.Lambda(
            Expression.Call(methodInfo, Expression.Parameter(typeof(IServiceProvider), "provider")),
            Expression.Parameter(typeof(IServiceProvider), "provider")
            );

var compiledLambdaExpression = lambdaExpression.Compile();
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

System.Linq.Expressions.dll中出现"System.InvalidOperationException"类型的异常,但未在用户代码中处理

附加信息:从范围''引用的'System.IServiceProvider'类型的变量'provider',但它没有定义

.net c# linq reflection .net-core

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

无法将类型'Newtonsoft.Json.Linq.JToken'隐式转换为'string'.存在显式转换(您是否错过了演员?)

我有以下代码:

WebClient c = new WebClient();
var data = c.DownloadString("https://btc-e.com/api/2/btc_usd/ticker");
//Console.WriteLine(data);
JObject o = JObject.Parse(data);
maskedTextBox11.Text = o["high"];
Run Code Online (Sandbox Code Playgroud)

但它在标题中给出了错误.

.net c# json

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

Linq:GroupBy 其 child.value 属性值

我有一个Parent包含Child对象集合的类,其中Child有两个属性:KeyValue

class Parent
{
    public IEnumerable<Child> Children { get; set; }
}

class Child
{
    public String Key { get; set; }
    public String Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我需要List<Parent>按其分组 a Child.Value

例子:

IEnumerable<Parent> parents = new List<Parent>()
{ 
    new Parent()
    {
        Children = new List<Child>()
        {
            new Child() { Key = "key1", Value = "v1" },
            new Child() { Key = "key1", Value = "v2" …
Run Code Online (Sandbox Code Playgroud)

.net c# linq group-by

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