小编juh*_*arr的帖子

Lambda复合加入

我正在尝试加入一个查询的结果来过滤第二个查询的结果.

第一次查询

// get the compound centre number and languageId key
var centreKeys = unitOfWork.CentreTranslationRepository.GetAll()
    .Where(w => w.Language.cuture == searchCulture || w.language_id == 1)
    .GroupBy(g => g.Centre.number)
    .Select(s =>
        new
        {
            CentreNumber = s.Key,
            LanguageId = s.Max(g => g.language_id)
        });
Run Code Online (Sandbox Code Playgroud)

这将返回以下形式的结果:

{ CentreNumber = 1589, LanguageId = 27 }

{ CentreNumber = 261, LanguageId = 1 }  

{ CentreNumber = 1257, LanguageId = 1 }

{ CentreNumber = 925, LanguageId = 1 }  
Run Code Online (Sandbox Code Playgroud)

等等

第二个查询

// join onto the translated …
Run Code Online (Sandbox Code Playgroud)

c# lambda join

0
推荐指数
1
解决办法
2624
查看次数

在C#中只选择一个单选按钮

我是Windows窗体应用程序的初学者.我正在保持学生记录.问题是,当我检查男性或女性按钮时,在sql数据库中,女性和男性都显示在性别列中,而不仅仅是一个.请帮我.这是我的代码

private void button1_Click(object sender, EventArgs e)
{
    coachingdbDataContext coach = new coachingdbDataContext();
    std_table std = new std_table()
    {
        Name= nametxt.Text,
        Father_Name= fnametxt.Text,
        Class= classtxt.Text,
        Roll_Number= rolltxt.Text,
        Address=addresstxt.Text,
        Contact_Number=numtxt.Text,
        Date_Of_Birth=daybox.Text +" "+ monthbox.Text +" "+ yearbox.Text,
        Gender= malebutton.Text + femalebutton.Text,
    };

    coach.std_tables.InsertOnSubmit(std);  
    coach.SubmitChanges();
    MessageBox.Show("Sucessfully Submitted");                       
}   
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
73
查看次数

循环通过ICollections

我有收集对象

public ICollection<DataOutput> DataCollection { get; set; }
Run Code Online (Sandbox Code Playgroud)

当我尝试循环收集

for(DataOutput item in data.DataCollection)
{

}
Run Code Online (Sandbox Code Playgroud)

它说只有赋值调用增量减量可以用作下面的语句data.DataCollection.任何人都可以指出我在做错误的地方吗?

.net c#

0
推荐指数
1
解决办法
65
查看次数

为什么我的LINQ查询总是返回0?

我面临一个奇怪的问题,我没有用c#编写太多程序而且最近才开始编程,所以如果这个问题实际上只是一个初学者的错误,我会事先道歉.

int i = 0;
var index = from x in (
                from v in Category.Items 
                select new { Key = i++, Value = v }) 
            where ((MenuCategory) x.Value).id == menuItems[items.SelectedIndex].category 
            select x.Key;
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取特定对象的索引Category.Items[](其中字段id是特定值menuItems[items.SelectedIndex].category)

c# linq

0
推荐指数
1
解决办法
138
查看次数

变量具有空值但是仍然会调用语句

我有一个if语句

if (materialtype != "WINDOWVINYLREPL"
    || materialtype != "ROOFING"
    && materialtype != "null"
    && materialtype != null)
{                
    subtype = (from a in UEF.MaterialSubTypes 
               where a.MaterialSubType1.Equals(subtype) && a.Code.Contains(materialtype) 
               select a.Code).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

即使materialtype等于null,if语句仍然被调用,它不应该被调用

c#

0
推荐指数
1
解决办法
75
查看次数

学习扩展方法

我正在学习扩展方法,并且试图编写我的第一个扩展方法。我想使用系统名称空间,并使用该名称空间编写扩展方法。

我的方法是将货币从GBP转换为BGN。

现在,在我的Main方法中,我都想使用此扩展方法,但是出现编译错误。

public static class ExtentionMethodConvertGBPtoBGN
{
    public static double ConvertGBPtoBGN(this ExtentionMethodConvertGBPtoBGN obj, double BGNmoney, double conversionrate)
    {
        return BGNmoney * conversionrate;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器将引发错误。

错误CS0721'ExtensionMethodConvertGBPtoBGN':静态类型不能用作参数

c# extension-methods

0
推荐指数
1
解决办法
57
查看次数

意外的Foreach行为C#

foreach loop当条件是有一个意外的行为true其实都是指令后内if statement,循环中断.我试着评论if语句并且一切正常(将所有元素迭代到ienumerable中).有人能解释我为什么吗?

var allRef = projDefinition
    .Element(msbuild + "Project")
    .Elements(msbuild + "ItemGroup")
    .Elements(msbuild + "COMReference")
    .Where(refElem => find.Any(f => refElem.FirstAttribute.Value.ToLower().Contains(f)))
    .Select(refElem => refElem);


foreach (var xElement in allRef)
{
    var name = xElement.FirstAttribute.Value;
    var dllPath = dllFiles.FirstOrDefault(dll => dll.ToLower().Contains(name.ToLower()));

    if (dllPath != null)
    {
        var dllName = dllPath.Substring(dllPath.LastIndexOf('\\') + 1, dllPath.LastIndexOf('.') - dllPath.LastIndexOf('\\') - 1);
        xElement.Remove();
        XElement elem = new XElement(msbuild + "Reference", new XAttribute("Include", dllName));
        elem.Add(new XElement(msbuild + "HintPath", HintPath.GetHintPath(dllPath)));
        elem.Add(new XElement(msbuild …
Run Code Online (Sandbox Code Playgroud)

c# xml linq foreach loops

-1
推荐指数
1
解决办法
134
查看次数

标签 统计

c# ×7

linq ×2

.net ×1

extension-methods ×1

foreach ×1

join ×1

lambda ×1

loops ×1

xml ×1