标签: nullreferenceexception

多页上的 ItextSharp 嵌套表导致 NullReferenceException

执行以下代码时,我收到 NullReferenceException。我还注意到,当我添加将单元格写入主表的代码时,嵌套表出现在新页面上。如果我取出将单元格写入主表的两个循环,则不会发生这种情况。

<%@ Page Title="" Language="C#" MasterPageFile="~/Main.master" %>

<%@ Import Namespace="iTextSharp.text" %>
<%@ Import Namespace="iTextSharp.text.pdf" %>

<%@ Import Namespace="System.IO" %>


<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{

    Document doc = new Document(PageSize.LETTER);

    // Here is some stuff needed to put the pdf into the users response stream
    Response.Clear();
    Response.ContentType = "application/pdf";
    MemoryStream memoryStream = new MemoryStream();

    PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);

    writer.CloseStream = false; // This is important, but it may work without it

    doc.SetMargins(20, 20, 36, 10); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net pdf-generation itextsharp nullreferenceexception

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

NullReferenceException未处理 - 不确定什么是null

我正在构建一个icosphere,我已经得到了代码的绘制部分,但我一直得到一个NullReferenceException是未处理的错误.我知道它指的是哪些代码,但我不知道实际上是什么错误或如何解决它.

这是类代码:

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Icosahedron_Test
{
/// <summary>
/// This is the main type for your game
/// </summary>
public class Game1 : Microsoft.Xna.Framework.Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

    Camera camera;

    VertexPositionColor[] verts;
    VertexBuffer vertexBuffer;

    BasicEffect effect;

    Matrix worldTranslation = Matrix.Identity;
    Matrix worldRotation = Matrix.Identity;

    int radius = 1; //planet radius
    int refinement = 2;  // number of times to refine …
Run Code Online (Sandbox Code Playgroud)

c# unhandled-exception nullreferenceexception

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

c#中对象的动态数组(或列表)?

我正在尝试这段代码:

private List<book> books;
//private book[] books;
.
.
.
private void button1_Click(object sender, EventArgs e)
        {
            books.Add(new book(book_name.Text));
            //book[0]=new book(book_name.Text);
        }
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

'你调用的对象是空的.'

我该怎么办?我希望通过事件动态创建对象.

c# nullreferenceexception

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

转换为int的null对象会导致NullReferenceException?

我有以下通用代码:

public V put(K key, V value){
        Object o = doOp(ClusterOperation.CONCURRENT_MAP_PUT, key, value);           
        return (V)o;
}
Run Code Online (Sandbox Code Playgroud)

问题是,Object o可以为null.当我使用像String这样的对象时,可以将null强制转换为String.但是当V表示int时,则null cast to int抛出NullReferenceException.

有没有足够通用的解决方案并处理int?

谢谢

c# generics casting nullreferenceexception

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

"对象引用未设置为对象的实例"错误

我有问题弄清楚为什么我接收"未设置为对象实例的对象引用"此表示层中的错误:

TempAccountManager.Accounts.Add(tempAccount);

我已经使用Visual Studios调试器和帐户获取创建了代码.我相信我有一个访问模块的问题,不确定.

表达层

using myBudget.BusinessObject;
using myBudget.BusinessLogic;

namespace myBudget
{
    public partial class NewBudgetWizard : Form
    {

        public int CurrentStep { get; set; }

        public Account TempAccount = new Account();
        public AccountManager TempAccountManager = new AccountManager();

        public NewBudgetWizard()
        {

        private void createAccountList(ListView lvAccounts)
        {

            foreach (ListViewItem lvi in lvAccounts.Items)
            {

                int tempAccNumber = Int32.Parse(lvi.SubItems[0].Text);
                string tempAccName = lvi.SubItems[1].Text;
                string tempAccType = lvi.SubItems[2].Text;
                decimal tempAccBalance = decimal.Parse(lvi.SubItems[3].Text, System.Globalization.NumberStyles.Currency);

                Account tempAccount = new Account(tempAccNumber, tempAccName, tempAccType, tempAccBalance, DateTime.Now);
                TempAccount = …
Run Code Online (Sandbox Code Playgroud)

c# oop access-modifiers object-reference nullreferenceexception

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

关于NullReferenceException的困惑

据我所知Console.WriteLine()(或Console.Write())调用object的ToString()方法来获取对象的字符串represantation对吗?所以这两个电话Console.WriteLine()是一样的吗?

Foo foo = new Foo();

Console.WriteLine(foo); // This is same as the one bellow 
Console.WriteLine(foo.ToString());
Run Code Online (Sandbox Code Playgroud)

所以我们假设以下情况.我声明一个实例化一个Foos数组.

Foo[] foos = new Foo[10]; // After this line all 10 Foos are `null`s
Run Code Online (Sandbox Code Playgroud)

然后我在数组的任何元素上调用Console.WriteLine()而不实例化Foos本身.所以在这种情况下我们有一个Foos数组,并且数组中的每个Foo都是null如此调用Console.WriteLine()应该导致a NullReferenceException被抛出?但事情是,如果你这样称呼它

Console.WriteLine(foos[0])
Run Code Online (Sandbox Code Playgroud)

没有任何事情发生,除了Environment.NewLine在控制台窗口中写入,但如果你这样称呼它

Console.WriteLine(foos[0].ToString())
Run Code Online (Sandbox Code Playgroud)

它实际上抛出了一个NullReferenceException.这两个电话有什么区别?我的意思是在第一个我没有ToString()明确调用,但不应该由Console.WriteLine()隐式调用它?如何NullReferenceException在第一种情况下抛出?

c# arrays nullreferenceexception

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

如果collection为null,为什么foreach会抛出异常

我问在你试图用foreach循环迭代的对象为空时抛出异常是什么原因?

例如,以下代码抛出异常:

public void Test()
{
    IEnumerable<int> numbers = null;

    foreach (var number in numbers)
    {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

现在修复很简单,只需在foreach循环之前检查null.

public void Test()
{
    IEnumerable<int> numbers = null;

    if (numbers != null)
    {
        foreach (var number in numbers)
        {
            //Do stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,你可以用foreach循环做的一切,你只需要一个常规的for循环,因此foreach循环基本上存在,因为它更方便编写和更容易阅读.重要的是写它更方便.如果创建的东西很方便,为什么不一直这样做,在这种情况下隐式执行null检查.现在可能存在一些情况,如果集合为null,你实际上想要抛出异常但是,我觉得那些是目前为止的少数,它们应该是你需要显式并检查null的情况.类似于以下内容:

public static void Test()
{
    IEnumerable<int> numbers = null;

    if (numbers == null)
        throw new NullReferenceException();

    foreach (var number in numbers)
    {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

c# foreach nullreferenceexception

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

LINQ查询中的NullReferenceException

我在这个LINQ查询中得到一个不寻常的"NullReferenceException未被用户代码处理"错误:

List<UDIDInfo> d2Android = d2.Where(x.DeviceOS == (byte)DeviceOS.Android).ToList();
Run Code Online (Sandbox Code Playgroud)

我继续并添加了一个空检查,但仍然收到错误

List<UDIDInfo> d2Android = d2.Where(x => x.DeviceOS != null && x.DeviceOS == (byte)DeviceOS.Android).ToList();
Run Code Online (Sandbox Code Playgroud)

请注意,(byte)DeviceOS.Android并且d2都不为空

编辑(解决方案):

List<UDIDInfo> d2Android = d2.Where(x => x != null && x.DeviceOS != null && x.DeviceOS == (byte)DeviceOS.Android).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq nullreferenceexception

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

对象引用未设置为部署到云时出现的对象错误的实例

本地项目运作完美.它正在执行,数据库中有适当的条目.但是当我在暂存时将它部署到云时,它会将此错误作为未设置为实例的对象引用.我的项目需要每个Web和辅助角色的2个实例,但由于我有一个限量版的免费实例,我每个只使用一个.这可能是个问题吗?我使用SDK 1.8它是ASP.Net项目.

任何人都可以建议我如何解决这个问题?

cloud instance azure object-reference nullreferenceexception

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

NullReferenceException vs ArgumentNullException

我正在阅读这篇帖子,回答者提到了他喜欢ArgumentNullException的内容NullReferenceException.

MSDN提到NullReferenceException:

尝试取消引用空对象引用时引发的异常.

ArgumentNullException 他们说:

将null引用(在Visual Basic中为Nothing)传递给不接受它作为有效参数的方法时引发的异常.

回答者似乎说你可以使用其中之一.

有什么理由或任何情况我应该选择一个而不是另一个?

PS

我知道这个问题可能是基于意见的.我想要事实,背景和情况.我对个人偏好不感兴趣.

c# exception nullreferenceexception

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