[英]How can you parse a string in C#?
在開發評分組件時,我們有一個棘手的難題。 我們有一個C#程序,我們以Oracle的格式從Oracle數據庫中獲得分數
字段名
場價值
我們將它們解析為兩個逗號分隔的字符串。
我們要求當我們得到一個字段名為“LOW @ HIGH”且字段值為“11 @ 21”的字段名時,我們希望將其放入另一個變量中,格式為LOW = 11,HIGH = 21。
首先解析輸入:
var parts = input.Split('@');
var i1 = int.Parse(parts[0]);
var i2 = int.Parse(parts[1]);
接下來計算結果:
return "LOW=" + i1 + ",HIGH=" + i2;
如果將其分解為這兩個步驟,問題就變得容易了。
還有一個替代方案,它向您介紹了非常有用的Zip擴展方法......
string Parse(string fieldName, string fieldValue)
{
return string.Join( ",",
fieldName.Split( '@' )
.Zip( fieldValue.Split( '@' ),
( name, value ) => string.Concat( name, "=", value ) ) );
}
所有驗證檢查由您決定......
請注意,如果“字段名稱”字段包含兩個以上的字段名稱,則該方法有效。 例如,字段名稱“LOW @AVERAGE @ HIGH”和字段值“11 @ 15 @ 21”將為您提供LOW=11,AVERAGE=15,HIGH=21
這是一個快速而有趣的練習,但我不得不想知道為什么它會像這樣非規范化?!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.