小编Mik*_*ela的帖子

所有国家名单DropDown

我用这段代码用国家列表填充我的下拉列表:

public JsonResult GetAllCountries()
{
    var objDict = new Dictionary<string, string>();
    foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
    {
        var regionInfo = new RegionInfo(cultureInfo.Name);
        if (!objDict.ContainsKey(regionInfo.EnglishName))
        {
            objDict.Add(cultureInfo.EnglishName, regionInfo.TwoLetterISORegionName.ToLower());
        }
    }
    var obj = objDict.OrderBy(p => p.Key).ToArray();

    return Json(obj.Select(t => new 
    { 
        Text = t.Key, 
        Value = t.Value 
    }), JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

它填充了这种方式.我使用相同的代码,但控制台,并在这里显示不同.为什么?我该怎么做才能填充下拉列表,就像第二个一样?

c# asp.net-mvc razor

9
推荐指数
1
解决办法
3735
查看次数

Linq 中的三元运算符

var result = from payroll in currentMonthPayroll
    select new SalaryDifference
    {
        PreviousMonthSalary = previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault() == null ?
        default(decimal) : previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault().Salary,
    };
Run Code Online (Sandbox Code Playgroud)

有没有办法不重复previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault()选择Salary值的逻辑?

我试过:

previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId)
    .FirstOrDefault().Salary ?? default(decimal);
Run Code Online (Sandbox Code Playgroud)

但是,如果previousMonthPayroll.Where(t => t.EmployeeId == payroll.EmployeeId).FirstOrDefault()为 null,则会抛出异常。

c# linq

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

实体框架种子方法异常

我正在使用Entity Framework 6和针对Oracle数据库的MVC5 webapi2项目.

我试图在Seed方法中添加一些ApplicationRoles,但是当我执行update-database时,我得到以下异常:

运行种子方法.System.Runtime.Serialization.SerializationException:类型未解决的成员 'Oracle.ManagedDataAccess.Client.OracleException,Oracle.ManagedDataAccess,版本= 4.121.2.0,文化=中性公钥= 89b483f429c47342'.在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)在System.Data.Entity.Migrations.Design.ToolingFacade.Run(跑垒员浇道)在System.Data.Entity.Migrations.Design.ToolingFacade.Update(字符串targetMigration,布尔力)在System.Data.Entity.Migrations.UpdateDatabaseCommand.<> c__DisplayClass2.<构造函数> b__0()在System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(动作命令)类型没有解决为成员"Oracle.ManagedDataAccess.Client. OracleException,Oracle.ManagedDataAccess,Version = 4.121.2.0,

我在Seed方法中的代码:

var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);

if (!context.Roles.Any(r => r.Name == "USER"))
{
    var role = new IdentityRole("USER");
    roleManager.Create(role);
}
Run Code Online (Sandbox Code Playgroud)

update-database 正在创建我的表没有任何问题,它只是种子方法有问题.

有没有人对这个问题有什么建议?

谢谢.

entity-framework-6 asp.net-mvc-5.1

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

划分两个数字

我正在用C#做一些自学,虽然我做了比这更复杂的项目,但我无法弄清楚问题是什么.

    private void button4_Click(object sender, EventArgs e)
    {
        int headcount = 0;
        int input = Global.inputcount;

        for (int i = 0; i < Global.inputcount; i++)
        {
            if (Global.myTextFile[i] == "F")
            {
                headcount++;
            }
        }
        float result;
        result = headcount/input; <<< that line
        button4.Text = result.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

这是我的代码,它应该算多少次F的在occour myTextFile阵列,它应该除以数量与输入数量.

我调试了很多次,一切都很好,直到[那]行.尽管(人数= ~2201)和(输入= ~4321),结果为0.

我曾经和pascal一起工作,我已经用了2个月的C#所以如果有人能帮助我,我会很感激.

F 代表匈牙利语中的"Fej"="Head"

c# variables

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

抽象类中未实现的构造函数

我看到了一些abstract基类.NET提供,我完全迷失了它们的构造函数和虚方法定义的方式.例如,请参阅System.ComponentModel.DataAnnotations.ValidationAttribute基类:

public abstract class ValidationAttribute : Attribute
{
    // Summary:
    //     Initializes a new instance of the System.ComponentModel.DataAnnotations.ValidationAttribute
    //     class.
    protected ValidationAttribute();
    ...
    protected virtual ValidationResult IsValid(object value, ValidationContext validationContext);
}
Run Code Online (Sandbox Code Playgroud)

但我不能在自己的课堂上这样做:

public abstract class MyClass
{
    protected MyClass();      
}
Run Code Online (Sandbox Code Playgroud)

MyClass.MyClass()必须声明一个body,因为它没有标记为abstract,extern或partial

我也无法标记它abstract:

修饰符摘要对此项无效

我没有特别需要MyClassValidationAttribute或其他基类.NET.我只想知道他们是如何在运行时编译的.

c#

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

将字符串数组从文本文件转换为双精度数组时出现错误消息

关于我在C#中工作的程序,我只是一个快速(我认为)的问题.我有一个包含很长数字列表的文本文件,如下所示:

41.673993158 0.000000000 258.436256

41.673992499 -0.000001364 258.462068

41.673991841 -0.000002700 258.487880
Run Code Online (Sandbox Code Playgroud)

我需要创建一个数组,将每个数字分别包含为double(或float).即

Array[0] = 41.673993158

Array[1] = 0.000000000 ...etc.]
Run Code Online (Sandbox Code Playgroud)

现在,我在数组中有数字,但它们都是字符串.我有以下代码:

 string text = System.IO.File.ReadAllText("/Applications/Unity/Projects/Underwater/SampleFile.txt");
 if (text != null)
 {

     string[] strings = text.Split (' ');

     System.Console.WriteLine("Contents of SampleFile = ");
     for (int i = 0; i < strings.Length; i++) 
     {
         Console.WriteLine (strings[i]);
     }
  }
Run Code Online (Sandbox Code Playgroud)

这段代码非常完美.它在控制台中的一个单独的行上输出每个数字,这使我相信每个数字在数组中都有它自己的位置.但是,它们仍然是字符串,所以当我尝试使用此代码将它们转换为双精度时:

double[] nums = new double[strings.Length];
for (int i = 0; i < strings.Length; i++)
{
    nums[i] = Convert.ToDouble(strings[i]);
}     
Run Code Online (Sandbox Code Playgroud)

我被抛出异常错误,无法弄清楚原因.这是错误消息:

抛出了System.FormatException.

未知的字符

详细信息:double.Parse(s ="258.436256\r \n \n41.673992499",provider …

c# monodevelop

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