如何确定字符串是否已被更新/更改
本文关键字:更新 更改 何确定 字符串 是否 | 更新日期: 2023-09-27 18:11:17
我无法在内存中保留原始字符串,因为它太大了。
var source = "some text";
var cache = source;
source = "some other text";
if(source != cache){
// Updated, do something
}
任何想法如何找到如果源字符串更新/更改没有比较源和缓存?
更新,我有一个发现链接的问题示例:使用hashcode来检测List
也许你可以尝试对两个字符串进行哈希并比较它们…
您尝试过使用自定义getter吗?
class SomeClass
{
private bool m_MyStringUpdated;
private String m_MyString;
public String myString
{
get
{
return m_MyString;
}
set
{
m_MyString = value;
m_MyStringUpdated = true;
}
}
}
如果不能将字符串保存为变量缓存,那么我认为最好的方法是使用键/值对的集合。例如Dictionary<datetime, string>
,其中键是最近更新的日期时间戳,字符串是存储的字符串。
或者您可以使用Dictionary<bool, string>
,其中键是布尔值,表示是否更新(true/false)。你只需要记住在你处理了一个更新的字符串值的实例后将其重置为false
。