C# 现在从1个调用中分配2个变量
编辑*{Original title=“DateTime.Now在设置2个变量时不同” 我要做的是分配一个变量,使用另一个变量的日期时间,该变量的值是从DateTime设置的 } 这个问题本质上与此相似 基本上,我有一个表单,用户可以选择一个日期和时间,当按下关闭按钮时,我检查用户是否编辑了表单。如果他们编辑了表单,弹出窗口将显示询问用户是否希望放弃更改 当我初始化表单(用于创建)时,我在名为C# 现在从1个调用中分配2个变量,c#,.net,datetime,xamarin,xamarin.forms,C#,.net,Datetime,Xamarin,Xamarin.forms,编辑*{Original title=“DateTime.Now在设置2个变量时不同” 我要做的是分配一个变量,使用另一个变量的日期时间,该变量的值是从DateTime设置的 } 这个问题本质上与此相似 基本上,我有一个表单,用户可以选择一个日期和时间,当按下关闭按钮时,我检查用户是否编辑了表单。如果他们编辑了表单,弹出窗口将显示询问用户是否希望放弃更改 当我初始化表单(用于创建)时,我在名为InitEvent()的方法中运行此代码: 在取消表单之前,我运行一些代码检查未保存的更改: if (_
InitEvent()
的方法中运行此代码:
在取消表单之前,我运行一些代码检查未保存的更改:
if (_uneditedEvent.Type != _eventItem.Type ||
_uneditedEvent.CustomerCode != _eventItem.CustomerCode ||
_uneditedEvent.ProjectCode != _eventItem.ProjectCode ||
_uneditedEvent.StartDateTime != _eventItem.StartDateTime ||
_uneditedEvent.EndDateTime != _eventItem.EndDateTime ||
_uneditedEvent.Notes != _eventItem.Notes)
{
var action = await _pageDialogue.DisplayAlertAsync("Unsaved Changes", "Do you want to abandon this event?", "Yes", "No");
switch (action)
{
case false:
return;
}
}
现在,当此验证代码运行时,日期时间总是不同的。区别在于滴答声。日期、小时、分钟、秒匹配,但刻度相差很小
我怀疑发生的事情是,当我为\u uneditedEvent
获取StartDateTime
的值时,它会返回DateTime。现在
在滴答声方面再次领先
无论如何,我可以将第二个变量设置为第一个变量(引用)的确切属性
我在Objective-C中做了类似的事情,它有可变和不可变的概念。虽然这可能不是正确的语法,但我可以执行类似于StartDateTime=[\u eventStartDate Copy]
的操作,这将为我提供该变量的克隆
如果你有两个不同的
DateTime赋值,我们需要查看创建你的_eventItem的代码。现在
你将有时差。在这种情况下,您可能需要考虑比较时间到秒,直到TICKS。@ AsheraH没什么可看的,新的<代码> EvTENTEM <代码>刚刚在这里显示的行上初始化。我在创建\u eventItem=new eventItem()时调用这两行代码代码>&\u uneditedEvent=new EventItem()代码>。变量具有相同的DateTime
最长为秒,只是节拍不同。@EzLo是的,这是我的基本问题,我想知道是否可以将第一个赋值复制到第二个变量。我曾想过比较秒数,但我担心在边缘情况下秒数不匹配,错误永远不会被分类!您在\u eventItem=new eventItem()中指定了哪些变量或值代码>?因为如果它们与您在\u uneditedEvent=new EventItem(){StartDateTime=\u eventStartDate,EndDateTime=\u eventEndDate,}中使用的不同代码>当然,它们会有所不同。(基本上,如果您正在调用DateTime.Now
再次…)
if (_uneditedEvent.Type != _eventItem.Type ||
_uneditedEvent.CustomerCode != _eventItem.CustomerCode ||
_uneditedEvent.ProjectCode != _eventItem.ProjectCode ||
_uneditedEvent.StartDateTime != _eventItem.StartDateTime ||
_uneditedEvent.EndDateTime != _eventItem.EndDateTime ||
_uneditedEvent.Notes != _eventItem.Notes)
{
var action = await _pageDialogue.DisplayAlertAsync("Unsaved Changes", "Do you want to abandon this event?", "Yes", "No");
switch (action)
{
case false:
return;
}
}