Je rencontre une "exception de référence nulle" lorsque j'essaie de renvoyer une valeur à partir d'une structure.Exception de référence Null dans C#
est le code ici:
AssetItem item = new AssetItem();
item = initModified();
bool found = false;
int index = getIndex(barcode);
string modifiedFile = filepath + "Modified\\" + dir + "\\" + index + ".asdt";
if(File.Exists(modifiedFile))
{
using(StreamReader reader = new StreamReader(modifiedFile))
{
string line = reader.ReadLine();
while(line.Trim()!="")
{
string[] split = line.Split(',');
if(split[1]==barcode)
{
found = true;
break;
}
line = reader.ReadLine();
}
reader.Close();
}
}
if(found)
{
item.modified = true;
}
else
{
item.modified = false;
}
return item;
J'initialise point en appelant un sous contenant que item.modified = false. Après avoir vérifié que le fichier existe, j'ai utilisé un streamreader pour lire les lignes du fichier une à une jusqu'à ce qu'il trouve une ligne spécifique et s'arrête. Le problème est lorsqu'il vérifie si le fichier existe et ne trouve pas la ligne spécifique. Il retourne null même difficile J'initialise l'item à false et le mets à false quand il ne trouve pas la ligne. Remarque: cela se produit rarement et fonctionne correctement lorsque j'accède à d'autres fichiers à lire et même dans le même fichier que celui-ci renvoie null.
Remarque: Un autre problème que j'ai rencontré est qu'il saute une ligne qu'il lit.
Quelle est la cause de ceci?
Ceci est juste une pointe et est sans rapport avec votre problème: vous pouvez éliminer quelques lignes à la fin en faisant t son 'item.modified = found;' – Dinah