[英]int to store var type as well in c#
我有一個模型:
public class KPIResults
{
public virtual string Title { get; set; }
public virtual int Total { get; set; }
public virtual int Week6 { get; set; }
public virtual int Week5 { get; set; }
public virtual int Week4 { get; set; }
public virtual int Week3 { get; set; }
public virtual int Week2 { get; set; }
public virtual int Week1 { get; set; }
public virtual string stringWeek6 { get; set; }
public virtual string stringWeek5 { get; set; }
public virtual string stringWeek4 { get; set; }
public virtual string stringWeek3 { get; set; }
public virtual string stringWeek2 { get; set; }
public virtual string stringWeek1 { get; set; }
}
在我的報表存儲庫中,我有:
int strfound = 0;
string str = "Number";
foreach (DataRow dr in dt.Rows)
{
string title = dr["Title"].ToString();
int total = Convert.ToInt32(dr["Total"]);
if (dr["Week6"].contains("Number") //synntacs not right?
var week6 = dr["strWeek6"]
end
or do this:
strfound = str.IndexOf(dr); //syntacs not right?
if (strfound == 0)
{
var week6 = dr["strWeek6"]
}
var week6 = Convert.ToInt32(dr["Week6"]);
var week5 = Convert.ToInt32(dr["Week5"]);
var week4 = Convert.ToInt32(dr["Week4"]);
var week3 = Convert.ToInt32(dr["Week3"]);
var week2 = Convert.ToInt32(dr["Week2"]);
var week1 = Convert.ToInt32(dr["Week1"]);
results.Add(new KPIResults() {Title = title, Total = total, Week6 = week6, Week5 = week5, Week4 = week4, Week3 = week3, Week2 = week2, Week1 = week1});
}
return results;
我也許應該嘗試進行字符串搜索,但是其中的代碼不正確。 我在尋找處理字符串但不清楚的方法。
謝謝
對於您要嘗試做的事情,尚不清楚的是,要回答您的問題, All I want to know is it possible to cast the var type to be stored as an int or the other way around?
沒有。
我認為您最好的選擇是使用string
然后它將能夠容納文本和數字。 您可以進行正則表達式測試以檢查其是否包含文本,然后如果不包含文本,則將其存儲的數字轉換為int
以供您使用。
或者只是制作一個更好的模型,將包含您需要的所有部分。
您還可以使用.GetType()
返回var
的類型。
更新資料
好的,看來您正在嘗試檢測dr["Week6"]
包含string
或int
。 一種解決方法是:
int number;
if(int.TryParse(dr["Week6"], out number))
var week6 = dr["strWeek6"]
如果dr["Week6"]
可以轉換為int
,則if
語句為true
並且number
將包含dr["Week6"]
。
這是int.TryParse
的元數據:
摘要:將數字的字符串表示形式轉換為其等效的32位帶符號整數。 返回值指示轉換是否成功。
參數:s:包含要轉換的數字的字符串。
結果:此方法返回時,如果轉換成功,則包含與s中包含的數字等效的32位有符號整數值;如果轉換失敗,則為零。 如果s參數為null,格式不正確或表示小於System.Int32.MinValue或大於System.Int32.MaxValue的數字,則轉換將失敗。 該參數未初始化地傳遞。
返回:如果s成功轉換,則返回true;否則返回false。 否則為假。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.