0

プレーヤーのスコアをインクリメントしてハイスコアをチェックしたいので、スコアをテキストファイルに保存しています。以下のコードを試していますが、例外がスローされています。

例外 : 値が期待される範囲内にありません。

public void storage()
{

    var appstorage = IsolatedStorageFile.GetUserStoreForApplication();
    String filename = "store.txt";
    using (var file = appstorage.OpenFile(filename, FileMode.OpenOrCreate,FileAccess.ReadWrite))
    {

        using (var writer = new StreamWriter(file))
        {
            writer.Write(score);
        }

        using(var reader=new StreamReader(file)) 
        {
            playerscore =reader.ReadLine();

        }


    }
}
4

1 に答える 1

0

Windows Phoneのサポートについてはよくわかりませんが、Windowsでは次のようにします

using (var file = File.Open(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
    using (var writer = new BinaryWriter(file))
    {
       writer.Write(score);
    }

    using (var reader = new BinaryReader(file))
    {
        playerscore = reader.ReadInt32();
     }
}

もちろん、書き込みテキストしか読めない場合は、これが解決策になります

using (var file = File.Open(filename, FileMode.OpenOrCreate,` FileAccess.ReadWrite))
{
    using (var writer = new StreamWriter(file))
    {
        writer.WriteLine(score.ToString());
    }

    using (var reader = new StreamReader(file))
    {
        playerscore = int.Parse(reader.ReadLine());

    }
}
于 2013-10-21T10:23:09.287 に答える