文字列の一部のみを取得する場合は、部分文字列メソッドが主に使用されます。これには、エラーを回避するために最初に文字列の長さをテストする必要があるという欠点があります。たとえば、データをデータベースに保存し、値を最初の 20 文字に切り詰めたいとします。
temp.substring(0,20) を実行しても temp が 10 文字しか保持しない場合、例外がスローされます。
私が見る2つの解決策があります:
- 長さをテストし、必要に応じて部分文字列を実行します
拡張メソッドTakeを使用する
string temp = "1234567890"; var data= new string( temp.Take(20).ToArray()); --> data now holds "1234657890"
Takeメソッドを使用する場合、速度またはメモリ使用の点で不利な点はありますか? 利点は、if ステートメントをすべて記述する必要がないことです。