2017-10-04 15 views
0

約20フィールドのファイルに書き込もうとしています。その部分は機能する。最初のフィールドは一意である必要があります(重複を持つことはできません)。私は最初のフィールド(列)だけを取ってそれをその列のそれと比較する方法を理解できません。また、ファイルから変数を取得する方法もわかりません。このフィールドは、姓と名の組み合わせです。それだけでうまく動作しますが、私はuserNameを実行し、それらの残りの部分と比較する必要があります。別のものがまったく同じものであれば、そのうちの1つに番号が必要です。テキストファイルの名前が重複していないか確認して変更してください。C#

これは私が始めたものですが、私は継続することになりましたことを確認していない:

class userName 
{ 
    public string Name(string userName) 
    { 
     string initialUserName 
     string tempUserName = string.Empty; 
    } 
} 

これは私がユーザ名を作成する方法である:あなたが書いているかの詳細を知らなくても

username = firstName.Substring(0, 4) + lastName.Substring(0, 4); 
+0

Streamwriterを使用してファイルを書き込んでいますが、コード内に見つからないようです。 – Gianlucca

+0

テキストファイルが必要ですか?人々は手で簡単にそれを編集することができます。dupsなどを追加する方法は何ですか?目的は何ですか? – BugFinder

+0

@Gianlucca StreamWriterを使用しようとしたかったのですが、わかりません。 – imsohappy

答えて

0

をこれらの「フィールド」は、ファイルの1行(行)が20個のフィールドすべてを含んでいると仮定しています。うまくいけば、これらのフィールドのそれぞれを区切りました。一度に1つずつファイルの行を読み取って、String.Splitメソッドを使用して20のすべてのフィールドを含む文字列配列を取得することによって、最初の列のすべての変数を取得できるはずです。最初の配列メンバを新しい値と比較するだけです。等しい場合は新しい文字列に数値を追加し、すべての行が解析されるまでこれを続けます。

+0

基本的に各行は人名とその情報です。元のファイルの内容を読み込み、必要なものをフォーマットして、新しいテキストファイルに書き出します。 – imsohappy

+0

@imsohappyだから、あなたがちょうど言ったことを与え、私の上記の答えで十分であるはずです。ちょうど1つまたは2つ:あなたが最初のフィールドがあなたが比較していることを知っているなら、string.substring(0、string.firstindexof([あなたの区切り文字])を使うこともできます)、ベンチマークしていないので、これはより最適になるでしょうが、もう一つの考えです。また、(ファイル全体を再書き込みする必要がある場合を除いて)元のファイルを追加することを検討してください。 –

0

これが役に立ちます。 streamreaderとstreamwriterを使用してテキストファイルを読み書きします。ハッシュテーブルを作成して、列の読み取り値を格納します。あなたが同じ内容を見つけたら、それを書かないでください。

関連する問題