Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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# 仅当条件为30或以上时调用方法_C# - Fatal编程技术网

C# 仅当条件为30或以上时调用方法

C# 仅当条件为30或以上时调用方法,c#,C#,当条件v高于30时,它会继续在应用程序中发送短信。 但是,我希望它只发送1条短信,然后在v返回到29时重新发送短信,然后返回30 if(v >= 30) { do { var SmsMessenger = (CrossMessaging.Current.SmsMessenger); if(SmsMessenger.CanSendSmsInBackground) { SmsMessenger.Sen

当条件
v
高于30时,它会继续在应用程序中发送短信。 但是,我希望它只发送1条短信,然后在
v
返回到29时重新发送短信,然后返回30

if(v >= 30) 
{
    do 
    {
        var SmsMessenger = (CrossMessaging.Current.SmsMessenger);

        if(SmsMessenger.CanSendSmsInBackground)
        {
            SmsMessenger.SendSmsInBackground("+000000", "Test")
        }
    } 
    while(((currentLocation.Speed * 3600) / 1000) != 20);
}

您可以使用标志来调用消息一次

bool IsSmsSended = false;


if(v >= 30 && !IsSmsSended) {
   do {
      var SmsMessenger= (CrossMessaging.Current.SmsMessenger);
      if(SmsMessenger.CanSendSmsInBackground){
         SmsMessenger.SendSmsInBackground("+000000","Test")
      }
   }
   while(((currentLocation.Speed * 3600) /1000) !=20);
   IsSmsSended = true;
}else if(v < 30){
   IsSmsSended = false;
}
bool issmssend=false;
如果(v>=30&&!ISSMSEND){
做{
var SmsMessenger=(CrossMessaging.Current.SmsMessenger);
if(SmsMessenger.CanSendSmsInBackground){
SmsMessenger.SendSmsInBackground(“+000000”,“测试”)
}
}
而(((currentLocation.Speed*3600)/1000)!=20);
issmssend=true;
}否则,如果(v<30){
issmssend=false;
}
如果该值低于30,则必须重置ISSMSSEND。看看这个,如果是的话


注意:将ISSMSEND设置为全局。

您可以使用一个标志来调用消息一次

bool IsSmsSended = false;


if(v >= 30 && !IsSmsSended) {
   do {
      var SmsMessenger= (CrossMessaging.Current.SmsMessenger);
      if(SmsMessenger.CanSendSmsInBackground){
         SmsMessenger.SendSmsInBackground("+000000","Test")
      }
   }
   while(((currentLocation.Speed * 3600) /1000) !=20);
   IsSmsSended = true;
}else if(v < 30){
   IsSmsSended = false;
}
bool issmssend=false;
如果(v>=30&&!ISSMSEND){
做{
var SmsMessenger=(CrossMessaging.Current.SmsMessenger);
if(SmsMessenger.CanSendSmsInBackground){
SmsMessenger.SendSmsInBackground(“+000000”,“测试”)
}
}
而(((currentLocation.Speed*3600)/1000)!=20);
issmssend=true;
}否则,如果(v<30){
issmssend=false;
}
如果该值低于30,则必须重置ISSMSSEND。看看这个,如果是的话

附言:让ISSMSSED全球化