Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 现在从1个调用中分配2个变量_C#_.net_Datetime_Xamarin_Xamarin.forms - Fatal编程技术网

C# 现在从1个调用中分配2个变量

C# 现在从1个调用中分配2个变量,c#,.net,datetime,xamarin,xamarin.forms,C#,.net,Datetime,Xamarin,Xamarin.forms,编辑*{Original title=“DateTime.Now在设置2个变量时不同” 我要做的是分配一个变量,使用另一个变量的日期时间,该变量的值是从DateTime设置的 } 这个问题本质上与此相似 基本上,我有一个表单,用户可以选择一个日期和时间,当按下关闭按钮时,我检查用户是否编辑了表单。如果他们编辑了表单,弹出窗口将显示询问用户是否希望放弃更改 当我初始化表单(用于创建)时,我在名为InitEvent()的方法中运行此代码: 在取消表单之前,我运行一些代码检查未保存的更改: if (_

编辑*{Original title=“DateTime.Now在设置2个变量时不同”

我要做的是分配一个变量,使用另一个变量的日期时间,该变量的值是从DateTime设置的

}

这个问题本质上与此相似

基本上,我有一个表单,用户可以选择一个日期和时间,当按下关闭按钮时,我检查用户是否编辑了表单。如果他们编辑了表单,弹出窗口将显示询问用户是否希望放弃更改

当我初始化表单(用于创建)时,我在名为
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;
    }
}