我需要想出一個算法,我認爲這很簡單,但對於我的生活我無法弄清楚。邏輯幫助。存儲舊的和新的傳入數據
我有兩個字符串:
string oldData;
string newData;
這些變量最初開始時會empty.I需要一種方法來存儲以前的數據,以及新進入的數據。有時候傳入的數據將是相同的,所以不需要改變。如果新傳入的數據不同,那麼oldData將獲得先前的newData,newData將獲取新的傳入數據。
我需要想出一個算法,我認爲這很簡單,但對於我的生活我無法弄清楚。邏輯幫助。存儲舊的和新的傳入數據
我有兩個字符串:
string oldData;
string newData;
這些變量最初開始時會empty.I需要一種方法來存儲以前的數據,以及新進入的數據。有時候傳入的數據將是相同的,所以不需要改變。如果新傳入的數據不同,那麼oldData將獲得先前的newData,newData將獲取新的傳入數據。
我認爲這將是這樣的:
void checkData(string newData) {
if (newData != oldData) {
oldData = newData;
}
}
我不知道你的問題,因爲它似乎很明顯,但會像這樣的工作? :
string oldData;
string newData;
void newStringIncoming(string myNewString)
{
if(myNewString != newData)
{
oldData = newData;
newData = myNewString;
}
}
以上的工作,但如果你想使他們像一類的屬性,你可以不喜歡
public YourClass
{
string oldValue;
string newValue;
public string NewValue
{ get { return newValue; }
set { if(! value.Equals(newValue))
{
oldValue = newValue;
newValue = value;
}
}
}
}
然後,你可以做結合兩者中的WinForms財產或WPF應用程序。
難道你不只是做這樣的事情?
private string YourMethodNameHere(string oldValue,string newValue)
{
if(old != newValue)
return newValue;
return oldValue;
}
下面是使用一個事件,這將允許你添加額外的事件,而在二傳手
public string OldData { get; set; }
private string _newData;
public string NewData
{
get { return _newData; }
set
{
if (value.Equals(_newData)) { return; }
_newData = value;
DataChanged(this, EventArgs.Empty);
}
}
private event EventHandler DataChanged;
public DataHolder()
{
DataChanged = (sender, args) =>
{
DataHolder dataHolder = sender as DataHolder;
if (dataHolder != null)
{
dataHolder.OldData = NewData;
}
};
}
除非他們是巨大的字符串堅持他們一個複雜的答案,你處理數據的巨量,爲什麼不每次都複製新的數據呢? –