質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

2回答

2410閲覧

c# テキストファイルに保存した座標を読み込みたい

tsta

総合スコア10

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

1クリップ

投稿2018/10/15 06:51

編集2018/10/15 07:01

前提・実現したいこと

環境
c#
Windows Forms

ウィンドウの座標を読み込んでテキストにファイルに保存して読み込んで再現できるようにしたいのですが、どのように書けばうまく読み込んでくれるのでしょうか?

該当のソースコード

C#

1 2 String pointSt = "{X=-0,Y=-0}"; 3 point = webDriver.Manage().Window.Position; 4 pointSt = point.ToString(); 5 File.WriteAllText(@"position\setting.txt", pointSt); 6   pointSt = sr.ReadToEnd(); //←ここから後がわかりません。 7 8

試したこと

座標を取得した際には"{X=0, Y=0}"という風にデータが入っています。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

既にデータファイルがあるなら別ですが、これから作るようなので、XML か JSON か CSV にシリアライズするのがいいと思います。

#追記 理由

独自フォーマットで保存した場合、シリアライザとデシリアライザを自分で書かなくてはなりません。
そうするとバグが入った場合データが壊れる可能性があります。
既に広く使われていて大勢の手で何度も検証されているコードでシリアライズするのが安心です。

また、そうやって作られたデータは他のツールでも容易に利用でき、使い方の幅が広がります。

さらに独自フォーマットだとシリアライズするデータを拡張したときにシリアライザとデシリアライザを作り直さなければいけませんが、汎用フォーマットだと少しの修正で済み、バグの混入を予防します。

投稿2018/10/15 06:54

編集2018/10/15 07:33
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsta

2018/10/15 08:27

csvファイルを読み込んでint型の配列に入れるにはどうすればいいのでしょうか?
Zuishin

2018/10/15 08:39

CsvHelper をお勧めします。 NuGet で入れてください。(ツール→NuGet パッケージマネージャー→ソリューションの NuGet パッケージの管理) 公式サイトは https://github.com/JoshClose/CsvHelper で、CsvHelper で検索すれば日本語の情報も多くあります。
tsta

2018/10/15 09:24

ありがとうございます。 試してみます。
guest

0

Window の状態を保存する場合に限ってですが、Properties.Settings にユーザースコープで保存すると便利です。
Visual Studioでアプリケーションの設定を保存する

この場合はとても便利なのですが、Zuishinさんのやりかたの方が応用が利き一般的です。
逆に言うとProperties.Settings.Default なんてアプリケーションの状態を保存する以外にはあまり使い道がありません。

投稿2018/10/15 09:59

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問