我收到了下面引用中提到的例外情况.我试图删除这个问题很多,但我得到下面的例外.我已经在堆栈溢出流程中读到了我的问题的类似答案,但它们并没有解决我的问题.我也在上面评论了我收到异常的行.
System.NotSupportedException未由用户代码处理
HResult = -2146233067 Message = LINQ to Entities无法识别方法'System.String ElementAt [String](System.Collections.Generic.IEnumerable1[System.String], Int32)' method, and this method cannot be translated into a store expression. Source=EntityFramework StackTrace: at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.DefaultTranslator.Translate(ExpressionConverter parent, MethodCallExpression call) at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq) at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TypedTranslator1.Translate(ExpressionConverter parent,Expression linq)at System System.Data.Entity上的System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.UnaryTranslator.TypedTranslate(ExpressionConverter parent,UnaryExpression linq)中的.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq). Core.Objects.ELinq.ExpressionConverter.TypedTranslator1.Translate(ExpressionConverter parent, Expression linq) at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq) at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.EqualsTranslator.TypedTranslate(ExpressionConverter parent, BinaryExpression linq) at System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TypedTranslator1.在System.Data.Entity.Core.Objects的System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq)上翻译(ExpressionConverter parent,Expression linq). System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TranslateLambda(LambdaExpression lambda,DbExpression输入,DbExpressionBinding&bin)中的ELinq.ExpressionConverter.TranslateLambda(LambdaExpression lambda,DbExpression输入)在System.Data.Entity.Core.Objects.ELinq的System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.OneLambdaTranslator.Translate(ExpressionConverter parent,MethodCallExpression call,DbExpression&source,DbExpressionBinding&sourceBinding,DbExpression&lambda)处. System.Data上的System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter parent,MethodCallExpression call,SequenceMethod sequenceMethod)中的.ExpressionConverter.MethodCallTranslator.OneLambdaTranslator.Translate(ExpressionConverter parent,MethodCallExpression call). System.Data.Entity.Core.Objects.ELinq.ExpressionConverter.TypedTranslator的Entity.Core.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent,MethodCallExpression linq)1.在System.Data上 …
嗨,我被赋予了一项我正在努力的任务.我需要为enum一个属性分配一个随机数.我的代码就是这个.
public enum PegColour
{
Red, Green, Blue, Yellow, Black, White
}
Run Code Online (Sandbox Code Playgroud)
和其他看起来像这样的课程
public class PegContainer
{
/// <summary>
/// Dfines the colour of the first peg
/// </summary>
public Peg Colour1 { get; set; }
/// <summary>
/// Dfines the colour of the secod peg
/// </summary>
public Peg Colour2 { get; set; }
/// <summary>
/// Dfines the colour of the third peg
/// </summary>
public Peg Colour3 { get; set; }
/// <summary>
/// Dfines …Run Code Online (Sandbox Code Playgroud) 该程序生成随机2d数组并计算每行的最大值.我确实有正确的结果,但IndexOutOfRangeException如果列数不等于行数,则会弹出.
Random r = new Random();
int x,y;
Console.WriteLine("lines");
x = int.Parse(Console.ReadLine());
Console.WriteLine("columns");
y = int.Parse(Console.ReadLine());
if ((x < 1) || (y < 1))
{
Console.WriteLine("Error");
Console.ReadLine();
}
else
{
int[,] array1 = new int[x, y];
int[] array2 = new int[y];
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
array1[i, j] = r.Next(0, 51);
Console.Write(array1[i, j] + " ");
}
Console.WriteLine();
}
for (int j = …Run Code Online (Sandbox Code Playgroud) 试图在类上定义约束,但得到错误:
public class Utilities3<T> where T : IComparable
{
public T Max<T>(T a, T b)
{
return a.CompareTo(b) > 0 ? a : b;
}
}
Run Code Online (Sandbox Code Playgroud)
'T'不包含'CompareTo'的定义,并且没有扩展方法'CompareTo'可以找到接受类型'T'的第一个参数(你是否缺少using指令或汇编引用?)
无法解析符号'CompareTo'
虽然对函数的约束很好:
public class Utilities2<T>
{
public T Max<T>(T a, T b) where T : IComparable
{
return a.CompareTo(b) > 0 ? a : b;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么限制课不工作?
如果我运行我的代码并插入正确的值第一次程序工作正常并完成其工作,但如果我输入错误的路径并允许循环旋转第二次它跳过path=Console.ReadLine();但它不会跳过j = (char)Console.Read();相同的事情持续通过剩余的代码.
do
{
Console.WriteLine("Insert path:");
path = Console.ReadLine();
temp1 = CheckPath(path); //checks if inserted value is legit
if (temp1 == false)
{
Console.WriteLine("\nDo you want to skip this step(by default directory will be set to Desktop)? Y/N ");
j = (char)Console.Read();
if (j.Equals('Y') || j.Equals('y'))
{
path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
temp1 = true;
}
}
//User inputs y/Y loop will end and exit with either path chosen by user or with desktop path
} while …Run Code Online (Sandbox Code Playgroud) 我在循环中创建线程,我需要在线程启动方法中传递循环计数器(就像创建线程时一样).
for (int i = 0; i < ListSize; i++)
{
thread = new Thread(() =>
Helper.GetEndToEndRequestProcessTime(EmailList[i], reqResultData, i, ListSize));
workerThreads.Add(thread);
thread.Start();
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子i中,变量I作为参数GetEndToEndRequestProcessTime().但问题是,实际线程的起始值i正在发生变化,而我的结果却是错误的GetEndToEndRequestProcessTime().
如何确保在线程启动时传递的值GetEndToEndRequestProcessTime()与创建线程时提供的值相同.
单击pictureBox1进入List时应该输入鼠标坐标.然后我想将List的内容发送到myFile.txt
我得到了Point是类型的特殊错误,不能用作变量.解决办法是什么?
所以这是代码:
private void pictureBox1_Click(object sender, EventArgs e)
{
var mouseEventArgs = e as MouseEventArgs;
Point rp = new Point(mouseEventArgs.X, mouseEventArgs.Y);
List<Point> pts = new List<Point>();
pts.Add(rp);
//StreamWriter writer = new StreamWriter("C:\\Users\\Lenny\\Desktop\\new2.txt");
//writer.WriteLine("X=" + mouseEventArgs.X + "Y=" + mouseEventArgs.Y);
}
public void button2_Click(object sender, EventArgs e)
{
File.AppendAllLines("new.txt", Point);
}
Run Code Online (Sandbox Code Playgroud) 我怎样才能在一个select语句中执行此操作?
var data = new CampaignData()
{
TotalPost = await context.Campaigns.SumAsync(c => c.Posts),
AveragePost = await context.Campaigns.AverageAsync(c => c.Posts),
TotalImpression = await context.Campaigns.SumAsync(c => c.Impressions),
AverageImpressions = await context.Campaigns.AverageAsync(c => c.Impressions),
};
Run Code Online (Sandbox Code Playgroud) 我有一个我想提交的事务,但不确定是否会在任何失败时回滚.我知道我可以在c#中使用TransactionScope,如果发生错误,所有内容都将被回滚.但我不太确定存储过程中的事务.所有在线示例都使用ROLLBACK关键字回滚.如果我没有ROLLBACK关键字那会怎么样?
CREATE PROCEDURE CreatePost
@type INT,
@name VARCHAR(500)
AS
BEGIN
DECLARE @insertedId TABLE(Id INT)
DECLARE @id INT
BEGIN TRANSACTION
INSERT INTO [Post] ([Name], [Type])
OUTPUT inserted.Id INTO @insertedId
VALUES (@name, @type)
UPDATE [Tables] SET Ordinals =ordinals + 1
WHERE Id = @tableId
COMMIT
END
Run Code Online (Sandbox Code Playgroud) 我正在努力弄清楚如何检查字符串是否包含某些字符/单词并基于此使数据触发器关闭。
在下面的示例中,我希望数据触发器在值中有颜色时关闭,后面的内容无关紧要。第一个触发器,如果 value 包含“RED”触发器应该关闭,无论它是 RED Apple,RED car,RED little ball 等。
<DataTrigger Binding="{Binding Name}" Value="RED Apple" >
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding Name}" Value="YELLOW Lemon" >
<Setter Property="Foreground" Value="Yellow" />
</DataTrigger>
<DataTrigger Binding="{Binding Name}" Value="GREEN Pear" >
<Setter Property="Foreground" Value="Green" />
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点
c# ×9
linq ×2
.net ×1
asp.net ×1
constraints ×1
datatrigger ×1
enums ×1
loops ×1
sql ×1
sql-server ×1
wpf ×1
xaml ×1