GVKun编程网logo

令人困惑的Enumerable.Cast InvalidCastException(令人困惑的 英文)

24

如果您想了解令人困惑的Enumerable.CastInvalidCastException和令人困惑的英文的知识,那么本篇文章将是您的不二之选。我们将深入剖析令人困惑的Enumerable.Cast

如果您想了解令人困惑的Enumerable.Cast InvalidCastException令人困惑的 英文的知识,那么本篇文章将是您的不二之选。我们将深入剖析令人困惑的Enumerable.Cast InvalidCastException的各个方面,并为您解答令人困惑的 英文的疑在这篇文章中,我们将为您介绍令人困惑的Enumerable.Cast InvalidCastException的相关知识,同时也会详细的解释令人困惑的 英文的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

令人困惑的Enumerable.Cast InvalidCastException(令人困惑的 英文)

令人困惑的Enumerable.Cast InvalidCastException(令人困惑的 英文)

以下抛出一个InvalidCastException

IEnumerable<int> list = new List<int>() { 1 };IEnumerable<long> castedList = list.Cast<long>();Console.WriteLine(castedList.First());

为什么?

我正在使用Visual Studio 2008 SP1。

答案1

小编典典

太奇怪了!有一个博客张贴在这里,描述了如何的行为Cast<T>().NET 3.5和.NET 3.5
SP1之间被改变,但它仍然没有,如果你这样重写代码解释InvalidCastException的,这你甚至得到:

var list = new[] { 1 };var castedList = from long l in list select l;Console.WriteLine(castedList.First());

显然,您可以自己进行转换来解决它

var castedList = list.Select(i => (long)i);

这行得通,但首先并不能解释错误。我尝试将列表强制转换为short和float,而这些抛出相同的异常。

编辑

该博客文章确实解释了为什么它不起作用!

Cast<T>()IEnumerable而不是的扩展方法IEnumerable<T>。这意味着,当每个值到达要转换的位置时,它已经被装箱回到System.Object中。本质上,它正在尝试这样做:

int i = 1;object o = i;long l = (long)o;

这段代码抛出您得到的InvalidCastException。如果您尝试将int直接转换为long类型,就可以了,但是将boxed
int重新转换为long类型是行不通的。

当然很奇怪!

### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...

### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...

### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String] with root cause
java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String
at org.apache.ibatis.ognl.OgnlOps.compareWithConversion(OgnlOps.java:92)
at org.apache.ibatis.ognl.OgnlOps.isEqual(OgnlOps.java:142)
at org.apache.ibatis.ognl.OgnlOps.equal(OgnlOps.java:794)
at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:53)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:494)
......

  在MVC开发中习惯使用原有的类作为传参方式:

  javaBean:

  

分享图片

 

 

   该javaBean上建立扩展类:

   

分享图片

 

 

    数据库中,blog表和blogType表存在外键关系,所以在blog类的实现上,要建立一个blogType的类做属性。

   在该查询中,显示的异常信息可知,invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String,不能比较(blogType和String)

分享图片

 

   sql语句的拼接中,判断该类是否为空就行了,我就照着前面的一路CV,从而忽略了这个错误(根本是没注意到这样的问题)。

  所以这里要注意啊:代码套路深,CV需谨慎啊。CV自己的代码都能坑死自己啊。

  日常报错ing,吸取更多的教训,写出更优雅的代码,同时希望能帮助到同是坎坷路上的码友们。

Appium问题解决方案(4)- selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 

Appium问题解决方案(4)- selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 

背景

使用Appium Server 1.15.1版本

执行了以下脚本

test = driver.find_element_by_name("自动化测试")
print(test.text)

报了以下错误

 

 

圈重点

selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 'name' is not supported for this session

简译:  by_name 这种定位元素方式已经不支持了

然后查了下资料,发现是在appium1.5之后, by_name 的这种定位方式已经彻底移除

 

解决方法一

最简单,不再用 by_name 定位方式了,改用id、class、xpath、accessibility id

 

解决方法二

看了网上的教程【driver.js】,最终发现也是没用的,这里就不展开了~还是换个定位方式叭!

asp.net – InvalidOperationException Nullable对象必须具有值

asp.net – InvalidOperationException Nullable对象必须具有值

我正在使用asp.net 4.0和sql server当我在应用程序中浏览时只有一些时间我看到这个错误,如果点击它解决了一些东西可以有人建议我如何克服这个

‘system.invalidOperationException:Nullable对象必须具有值.
   在System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource
资源)

解决方法

您可能正在尝试访问null的可空对象的Value.

从MSDN page on nullable types

The Value property returns a value if one is assigned,otherwise a
system.invalidOperationException is thrown.

您有多种选择来克服错误.例如:

int? a=null; // a test nullable object
//Console.WriteLine(a.Value); // this throws an InvalidOperationException

// using GetValueOrDefault()
Console.WriteLine(a.GetValueOrDefault()); //0 (default value for int)

//checking if a.HasValue
if(a.HasValue) Console.WriteLine(a.Value); // does not print anything as the if
                                           // is false

// using the ?? operator
Console.WriteLine(a ?? -1); // prints -1

c# System.InvalidCastException 使用 SqlCommand 和 SqlDataReader 时出错

c# System.InvalidCastException 使用 SqlCommand 和 SqlDataReader 时出错

如何解决c# System.InvalidCastException 使用 SqlCommand 和 SqlDataReader 时出错?

我有一些带有时间和日期的坐标数据。我只需要在位图上使用这些浮点数“GPMesafesi”和日期时间“Kislemsaat”进行一些可视化。

我需要将 DateTime 转换为浮动的第二种形式。第一个坐标的时间必须是原点与其他数据的原点时间差

最后,GPMesafesi 将是 x 坐标,而 Kislemsaat 在第二种形式中的原点差异将是 y 坐标。我需要在数据库中同时到达 1 行,但行按使用顺序排序。如果我可以到达数据集中 te 列的索引,或者以其他方式它可能有效,但我现在不能这样做。

但是我遇到了 -system.invalidCastException- 错误 --while (reader.Read()) Console.WriteLine("\t{0}\t{1}",reader.GetFloat(0).ToString() + reader.GetsqlDateTime(0));-- 那一行.如果有人可以提供帮助,那将很有帮助。

为不好的言论找借口

 public partial class Form1 : Form
{
    sqlConnection cs = new sqlConnection("Data Source=MyComputer\\sqlEXPRESS; Initial Catalog=batu_deneme; Integrated Security=TRUE");
sqlDataAdapter da1 = new sqlDataAdapter();
 void Render()
    {
   
        sqlCommand da1 = new sqlCommand("select GPMesafesi from TBL_GS_Koordinat_20210506  where kod= 2 and GüzergahNo= 1 and Kişlemsaat between ''2021-05-06 06:07:13.000''and ''2021-05-06 06:47:49.000''  order by GPMesafesi;"+"select Kişlemsaat from TBL_GS_Koordinat_20210506  where kod = 2 and GüzergahNo = 1 and Kişlemsaat between ''2021-05-06 06:07:13.000''and ''2021-05-06 06:47:49.000''  order by GPMesafesi",cs);
        cs.open();
        sqlDataReader reader = da1.ExecuteReader();
        do
        {
            Console.WriteLine("\t{0}\t{0}",reader.GetName(0),reader.GetName(0));
            while (reader.Read()) Console.WriteLine("\t{0}\t{1}",reader.GetFloat(0).ToString() + reader.GetsqlDateTime(0));
        }
        while (reader.NextResult());
        reader.Close();
        cs.Close();
 using (var bmp = new Bitmap(pictureBox1.Width,pictureBox1.Height))
        using (var gfx = Graphics.FromImage(bmp))

        using (var pen = new Pen(Color.Black))

        {
            // draw one thousand random white lines on a dark blue background
            gfx.SmoothingMode = System.Drawing.drawing2d.SmoothingMode.AntiAlias;

            gfx.Clear(Color.White);

            
            
            
            var pt3 = new Point(0,0);

            for(int i= 0; i<=500;i++)
            {

                //pen.Color = Color.FromArgb((byte)rColor.Next(0,255),(byte)rColor.Next(0,255));


                var pt1 = pt3;
                var pt2 = new Point(x,y );
                pt3 = pt2;
                gfx.DrawLine(pen,pt1,pt2);

            }

            // copy the bitmap to the pictureBox
            pictureBox1.Image?.dispose();
            pictureBox1.Image = (Bitmap)bmp.Clone();
           


        }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于令人困惑的Enumerable.Cast InvalidCastException令人困惑的 英文的介绍到此结束,谢谢您的阅读,有关### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...、Appium问题解决方案(4)- selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 、asp.net – InvalidOperationException Nullable对象必须具有值、c# System.InvalidCastException 使用 SqlCommand 和 SqlDataReader 时出错等更多相关知识的信息可以在本站进行查询。

本文标签: