دوستان عزيز و استادان گرامي، با متد ReadString مشكل پيدا كردم كه اميدوارم با كمك شما آن را حل كنم.

كد مورد نظر اين است:




while (RemindersFile.Length != RemindersFile.Position)
‍}
//Reading data.
TempRecords.IDField = ReadFromRemindersFile.ReadInt32();
TempRecords.TypeOfDateField = ReadFromRemindersFile.ReadBoolean();
TempRecords.OptionField = ReadFromRemindersFile.ReadBoolean();
TempRecords.DateField.Replace(TempRecords.DateFiel d.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.TitelField.Replace(TempRecords.TitelFi eld.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.NoteField.Replace(TempRecords.NoteFiel d.ToString(), ReadFromRemindersFile.ReadString());

{









پيغام خطا اين است: اين پيغام براي خطوطي كه ReadString دارند ايجاد مي‏شود.

IOException: End of stream exception

سوالات پيش آمده:
1. در سه خط اول BinaryReader خوب كار ميكند و يك int و دو Boolean را ميگيرد و position را تغيير ميدهد. اما به بخش ReadString كه ميرسد، به نظرم مي‏آيد كه كل فايل را از آخرين position مي‏خواند كه باعث خطا مي‏شود. چرا؟؟؟
2. مشكل با استفاده از ReadBytes هم حل نشد. ReadBytes مي‏تواند به تعداد مشخص بايت بخواند ولي آنها را به رشته تبديل نميكند. چرا؟؟؟
3. چطور ميتوانم به ReadString بگويم كه به تعداد مشخص رشته را بخواند، مثلا 50 كاراكتر؟


با سپاس فراوان از كمكتان . . .