c#を勉強中のものです。こちらの問題がわからないので教えて下さい。 https://csharp.sevendays-study.com/problem6.html の7-2の問題です。
c#を勉強中のものです。こちらの問題がわからないので教えて下さい。 https://csharp.sevendays-study.com/problem6.html の7-2の問題です。 以下のプログラムは、二つの文字列を合成したり、その長さを求めるする機能を持つクラス、TwoStringsと、そのクラスを使ったサンプルプログラムである。このクラスの二つの文字列を結合させるメソッドである、GetConnectedStringを追加し、実行結果通りに動くようにしなさい。 プロジェクトProblem7_2/Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Problem7_2 { class Program { static void Main(string[] args) { TwoStrings s = new TwoStrings(); s.String1 = "Hello"; s.String2 = "World"; Console.WriteLine("一つ目の文字列は" + s.String1); Console.WriteLine("二つ目の文字列は" + s.String2); Console.WriteLine("二つの文字列を合成したものは" + s.GetConnectedString()); } } } TwoStrings.cs ー------------------------------------ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Problem7_2 { class TwoStrings { private string string1; // 二つ目の文字列 private string string2; // 一つ目の文字列を設定 public string String1 { set { string1 = value; } get { return string1; } } // 一つ目の文字列を設定 public string String2 { set { string2 = value; } get { return string2; } } } } ー------------------------------------ 期待される実行結果 一つ目の文字列はHello 二つ目の文字列はWorld 二つの文字列を合成したものはHelloWorld
C言語関連・86閲覧
ベストアンサー
TwoStringsクラスに連結した文字列を返すGetConnectedStringメソッドを追加すればいいんですよ。これは他クラスから呼ばれるメソッドなのでアクセス指定はpublicになり、戻型はstringで引数はなし。なので以下のようになります。 public string GetConnectedString() { return String1 + String2; } 必要な回答は上述の通りですが、これは文法が古すぎます。C#言語も四半世紀に及ぶ歴史があって、文法や記述法もいろいろと変遷しています。例えば上記TwoStringsクラスは今は以下のような実装になります。 class TwoStrings { public string String1{get;set;} public string String2{get;set;} public string GetConecctedString()=>String.Concat(String1,String2); } 違いわかるでしょうか。プロパティは2008年以降はフィールドを定義する必要がなくなりました。自動プロパティといいます。メソッドはラムダ式で書けるようになっています。新しい参考書でも買って独習した方が良いんでないかい?
1人がナイス!しています
質問者からのお礼コメント
ご丁寧な説明ありがとうございます。 改めて見たところなぜ自分はできなかったのかわからないぐらい簡単でした。自動プロパティについても知っていましたが一応こちらも理解しておきたくて質問させてもらいました。今後どうしても理解できない部分が出てきたときには、新しい参考書の購入を考えます。 ありがとうございました。
お礼日時:1/26 17:03