小编naw*_*fal的帖子

linq lambda表达式和'&'运算符

我正在开发一个ASP.NET MVC(旧版本)应用程序,我有一个表单,根据主要代码和学生姓氏的字母顺序为学生分配顾问.

我正在尝试实现以下代码,但它向&操作员显示红色涂鸦:

错误:运算符'&'不能应用于' System.Linq.IQueryable<Appointments.Models.MajorAdviserStudentAssignmentByAlpha>'和'lambda表达式'和'lambda表达式' 类型的操作数

var majorAssignmentByAlpha = FindAllMajorAdviserStudentAssignmentByAlphas()
    .Where(
           a => a.MajorString == student.StudentMajor) &
           (a => ((String.Compare(student.StudentLastName, a.AlphaStart) >= 0) &
                 (String.Compare(student.StudentLastName, a.AlphaEnd) <= 0))
    .FirstOrDefault());

if (majorAssignmentByAlpha != null)
    return majorAssignmentByAlpha.Adviser;
Run Code Online (Sandbox Code Playgroud)

我很感激任何帮助,以了解这里有什么问题.提前致谢!

c# linq

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

带递归的C#类

我正在尝试创建一个包含其中"项目"列表的类.我已经成功完成了,但是我想在项目列表中创建一个项目列表.我也能够这样做但是我必须在项目中为类使用不同的名称.

我想使用相同的类名,因为这将用于生成一些类名称很重要的json.此外,我希望能够像文件夹结构一样递归.每个属性都是相同的.我希望我能够很好地解释这一点.我本质上是在尝试创建一个文件夹/文件结构,其中每个文件夹中可以有x个文件,也可以有x个文件夹等等.

例如:

DocLib

-项目

--Item.Items

--- Item.Items.Items

--Item.Items

- 项目2等......

这是现有的代码:

public class DocLib
{
    public string Title { get; set; }
    public string spriteCssClass { get { return "rootfolder"; } }
    public List<item> items { get; set; }

    public DocLib()
    {
        items = new List<item>();
    }

    public class item
    {
        public string Title { get; set; }
        public string spriteCssClass { get; set; }
        public List<document> documents { get; set; }

        public item()
        {
            documents = new List<document>(); …
Run Code Online (Sandbox Code Playgroud)

c# recursion class list

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

是不是C#或底层CLR真的支持多重继承?

这必须要么讨论,要么我非常愚蠢.有很多类似的线程,为什么C#没有MI,我已经走了最多.但我很想知道C#是否已经暗中支持它了.

由于.NET中的每个类型都来自于System.Object我可以编写一个类

Person : object { }
Run Code Online (Sandbox Code Playgroud)

现在,如果我有

Employee : Person { }
Run Code Online (Sandbox Code Playgroud)

不是真的吗

Employee : object, Person { }
Run Code Online (Sandbox Code Playgroud)

1)Employee类是否已经从两个类继承?

这里存在多重继承的所有问题太对了吗?让我说我有这个:

Person : object
{
    new public Type GetType()
    {
        return null;
    } 
}

Employee : object, Person 
{ 

}
Run Code Online (Sandbox Code Playgroud)

2)现在如果我打电话Employee.GetType()应该打电话Person.GetType()还是object.GetType()?困惑是对的.我觉得不是C#神奇地为object类提供某种继承优先级,因为它已经在 MI的情况下已经存在于许多语言中?

c# inheritance multiple-inheritance

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

KeyedCollection 是否仅在 Key 确定其中项目的相等性时才有意义?

我认为这是我们遇到的常见问题。

class Person
{
    public string place;
    public string name;

    public Person(string place, string name)
    {
        this.place = place;
        this.name = name;
    }

    public bool Equals(Person other)
    {
        if (ReferenceEquals(null, other))
            return false;

        return name == other.name;
    }

    public override bool Equals(object obj)
    {
        return Equals(obj as Person);
    }

    public override int GetHashCode()
    {
        return name.GetHashCode();
    }

    public override string ToString()
    {
        return place + " - " + name;
    }
}
Run Code Online (Sandbox Code Playgroud)

说我有这门课。我可以实现KeyedCollection这样的:

class Collection : KeyedCollection<string, Person> …
Run Code Online (Sandbox Code Playgroud)

c# equality keyedcollection semantics

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

为什么C#在完全知道它没有结构类型时会取笑?

我很惊讶今天看到这是可能的,但我担心这必须在之前讨论过.

public interface ICanAdd
{
    int Add(int x, int y);
}

// Note that MyAdder does NOT implement ICanAdd, 
// but it does define an Add method like the one in ICanAdd:
public class MyAdder
{
    public int Add(int x, int y)
    {
        return x + y;
    }
}

public class Program
{
    void Main()
    {
        var myAdder = new MyAdder();
        var iCanAdd = (ICanAdd)myAdder; //compiles, but for what sake?
        int sum = iCanAdd.Add(2, 2); //na, not game for it, …
Run Code Online (Sandbox Code Playgroud)

c# casting interface structural-typing explicit-conversion

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

使用sql连接的最佳/标准方法是什么?

protected void populateDataGrid()
{
    string connectionString = configurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    string command = "select * from student";

    SqlDataAdapter dataAdapter = new SqlDataAdapter(command, connectionString);
    DataSet data = new DataSet();

    dataAdapter.Fill(data);
    GridView1.DataSource = data;
    GridView1.DataBind();
}

protected void Button2_Click(object sender, EventArgs e)
{
    string connectionString = ConfigurationManager.ConnectionStrings["sqlstudentConnectionString"].ConnectionString;
    string command = @"INSERT INTO [student] (studentID, studentFirstName, studentLastName) 
                       VALUES (" + TextID.Text + ", '" + TextFirstName.Text + "', '" + TextLastName.Text + "')";
    SqlConnection sqlConnection = new SqlConnection(connectionString);

    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sqlconnection

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

如何在linq的select语句中使用where子句.(即在财产上.)

我有这个linq查询:

var sku = (from a in con.MagentoStockBalances
           join b in con.MFGParts on a.SKU equals b.mfgPartKey
           join c in con.DCInventory_Currents on b.mfgPartKey equals c.mfgPartKey
           where a.SKU != 0 && c.dcKey ==6
           select new
           {
               Part_Number = b.mfgPartNumber,
               Stock = a.stockBalance,
               Recomended = a.RecomendedStock,
               Cato = c.totalOnHandQuantity
           }).ToList();
Run Code Online (Sandbox Code Playgroud)

现在我需要删除c.dcKey == 6条件并具有以下内容:

var sku = (from a in con.MagentoStockBalances
           join b in con.MFGParts on a.SKU equals b.mfgPartKey
           join c in con.DCInventory_Currents on b.mfgPartKey equals c.mfgPartKey
           where a.SKU != 0
           select new
           { …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

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

Add commas in decimal to string

I want to add a comma in the decimal to string conversion like

For

decimal number = 1000000000.000;
Run Code Online (Sandbox Code Playgroud)

it should give

string str = 1,00,00,00,000.00
Run Code Online (Sandbox Code Playgroud)

.net c# string decimal

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

如何从特定行数中进行选择?

在SQL查询中,例如,如何从行号10到50中选择特定数量的行.

SELECT top 15000 [ID].... 
Run Code Online (Sandbox Code Playgroud)

将获得前15000行,但如果我想获得下一个15000,我该怎么办?

mysql sql sql-server qsqlquery

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

有没有办法检查列是否支持来自datareader的空值?

db中的表的列可以存储空值(如DBNulls).有没有一种方法,我可以从这些信息IDataReader还是DbDataReader

using (var reader = command.ExecuteReader())
{
    //can I get the column info like if it supports null value if I pass the ordinal?
    reader.CheckIfSupportsNull(someIndex) ???

    while (reader.Read())
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以读取单元格值并检查它DBNull.Value,但我不是问我是否可以检查读取值是否为null,但是如果我可以检查列本身是否支持DBNulls而不管表中存在的实际值.

我想知道这是否可能MySqlDataReader和/或SqlDataReader..

c# dbnull datareader sqldatareader mysqldatareader

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