我需要使用string.CompareOrdinal(...)
linq查询内部来比较字符串.
string max;
string min;
var res = db.Table
.Where(c => string.CompareOrdinal(c.Id, min) >= 0)
.Where(c => string.CompareOrdinal(c.Id, max) <= 0)
.ToList();
Run Code Online (Sandbox Code Playgroud)
代码抛出一个异常:
LINQ ti实体不会重新确定方法'Int32 CompareOrdinal(System.String,System.String)'方法,并且此方法无法转换为存储表达式.
表中有很多数据,所以我真的需要这个where
子句.
有没有解决的办法?
更新
我不是想要确定两个字符串是否相等 - 区分大小写.
我正在努力确定一个字符串是否在一个范围内.所以问题是
显然,我不能用 string.CompareOrdinal
我将数据模型实体添加到我的项目名为publishingCompanyEntities
And并在我的winform中添加了ComboBox.但是当我想将我的作者列表绑定到我的组合框中时,因为数据源已填充数据,但cmoAuthors.Items.Count
返回0但cmoAuthors.DataSource.Count
返回2项
publishContext = new publishingCompanyEntities();
cmoAuthors.DataSource = publishContext.Authors;
cmoAuthors.DisplayMember = "FirstName";
Run Code Online (Sandbox Code Playgroud) 说我有一个界面
public interface IDatabase
{
IObjectSet<Table1> Table1 {get;}
IObjectSet<Table2> Table2 {get;}
//goes on to around Table400
}
Run Code Online (Sandbox Code Playgroud)
所以当我用FakeItEasy创建一个实例时:
var fakeDb = A.Fake<IDatabase>();
Run Code Online (Sandbox Code Playgroud)
所有属性(表)都有一个默认的假值.我可以看到为什么这在大多数情况下都很方便,但在我的情况下,我需要所有这些null
这样做有一个聪明的方法吗?
我有一个包含以下内容的xml文件:
<Xavor>
<Dev>
<Emp>1</Emp>
<Floor>1</Floor>
<Salary>1200.4</Salary>
</Dev>
<Dev>
<Emp>2</Emp>
<Salary>3100.8</Salary>
</Dev>
<Dev>
<Emp>3</Emp>
<Floor>1</Floor>
</Dev>
Run Code Online (Sandbox Code Playgroud)
我想用sum函数计算前两个员工的工资总和.我来到这个XPath:
sum(/Xavor/Dev[2]/Salary/text())
Run Code Online (Sandbox Code Playgroud)
但这只返回第二个工资值,即3100.8
!!! 当工资中只有非浮点数时,这个XPath工作得很好.请帮帮我.
我在c#示例中看到了以下代码:
public void AddScreen(GameScreen screen, PlayerIndex? controllingPlayer)
{
screen.ControllingPlayer = controllingPlayer;
screen.ScreenManager = this;
screen.IsExiting = false;
}
Run Code Online (Sandbox Code Playgroud)
而且我不知道?
在PlayerIndex之后它正在做什么,它是一个枚举,并且在课堂上它的每一个通知都在?
背后.我的问题:它做了什么,它叫什么,你为什么要用它.
我用谷歌搜索了这个,但它没有让我走远,因为我不知道这个编码的名称和谷歌过滤掉搜索查询中的问号
我必须在c#中创建一些程序,以便在我必须使用的程序之间执行IO,或者使用INotifyPropertyChange
(on a List<>
)或ObservableCollection<>
.
我想知道在c#程序之间执行IO操作哪一个更好.
谢谢你的阅读
我有一个数据集包含1个表,我想迭代循环表.
在循环内部我想检查列1是否是日期类型转义该列并移动到下一列.请帮助我.
excelConnection = new OleDbConnection(connectionString);
//Get the name of First Sheet
excelConnection.Open();
excelSheet = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string sheetName = excelSheet.Rows[0]["TABLE_NAME"].ToString();
excelConnection.Close();
string query = "SELECT * FROM [" + sheetName + "]";
excelCommand = new OleDbCommand(query, excelConnection);
excelDataAdapter = new OleDbDataAdapter(excelCommand);
excelDataAdapter.Fill(excelData);
Run Code Online (Sandbox Code Playgroud)
提前致谢.
给出一个有序列表:
var lst = new []{"1","10","2","b","ab"};
var lst2 = lst.OrderBy(c => c);
Run Code Online (Sandbox Code Playgroud)
结果lst2
:
1,10,2,ab,b
为什么在比较时String.Compare()
还不测量字符串的长度?我原以为结果会更像这样:
1,2,10,b,ab
因为10(某事(1)和某事物(0))应该在 2 之后(某事(2)而没有)
有人能说出一个很好的理由吗?
if (!Regex.IsMatch("1234567-8A","[0123456789]+-[0123456789K]{1}"))
Console.WriteLine("It is not match");
else
Console.WriteLine("It is match");
Run Code Online (Sandbox Code Playgroud)
这输出"它是匹配",但不应该.
为什么{1}
不工作?
之后,-
我想明确地1个字符(0或1或2或...或9或K)
c# ×8
string ×2
c#-4.0 ×1
compareto ×1
comparison ×1
enums ×1
fakeiteasy ×1
linq ×1
nullable ×1
performance ×1
regex ×1
syntax ×1
unit-testing ×1
winforms ×1
xml ×1
xpath ×1