我没有真正的运气,通过使用Google得到这个比较的简明答案,而不是做我自己耗时的评估,我想我会先问.
我很确定使用Enums的switch语句比if-then-else语句执行得更快,不管它是否是一个明显的区别是另一个问题.
有人可以为我解释一下吗?
感谢快速回复的人,我将在未来的项目中牢记这一点.
我有一个任务,我必须解析java .class文件的字段访问标志.可以在此处找到.class文件的规范:类文件格式(第26和27页具有访问标志和十六进制值).
这很好,我可以做到这一点无后顾之忧.我的问题是有大量的组合.
我知道公共,私人和受保护是相互排斥的,这在一定程度上减少了组合.最终和瞬态也是相互排斥的.然而其余的则没有.
目前,我有一个大的switch语句来进行比较.我读取访问标志的十六进制值,然后递增计数器,具体取决于它是公共的,私有的还是受保护的.这样可以正常工作,但是在switch语句中列出每个组合似乎很麻烦.即公共静态,公共决赛,公共静态决赛等.
我想在访问标志和公共,私有或受保护的适当十六进制值上做模数,但public是0x0001,所以这不起作用.
有没有其他人对如何减少switch语句中的案例数有任何想法?
我知道,有一个类似的问题,但它使我感到困惑,所以我认为以我的方式提问更容易.
所以我有一系列价值观,正面和负面.它们越高,被选中的概率就越大.
我实际上无法确定如何分配概率,然后随机选择一个概率.我猜这个数组需要先排序,但之后我就有点迷失了.
当我手动创建日历提醒/约会时,我可以单击"邀请与会者"并选择要邀请的人员,然后单击"发送",每个人都将收到该日历提醒/约会.
我有以下代码以编程方式进行提醒,但它不会发送给目标收件人.如果我在脚本运行后打开提醒并单击"邀请与会者",我可以看到列表中填写了我要发送提醒的人,所以我不确定为什么它实际上并没有发送提醒他们.
任何人都可以为我阐明这一点吗?
Private Function CreateAppointment(SubjectStr As String, BodyStr As String, StartTime As Date, EndTime As Date, AllDay As Boolean)
Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem
' Only create the reminder if there's no duplicate
If (CheckForDuplicates(SubjectStr) = False) Then
Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)
Appt.Recipients.Add ("John Doe")
Appt.Recipients.ResolveAll
Appt.Subject = SubjectStr
Appt.Start = StartTime
Appt.End = EndTime
Appt.AllDayEvent = AllDay
Appt.Body = BodyStr
Appt.ReminderSet = True
Appt.Save
Appt.Send
End If
Set Appt = Nothing …Run Code Online (Sandbox Code Playgroud) 如果有人问我,我很抱歉,我的搜索只发现了点点滴滴......
好的,所以我对getBearing的API描述的理解是,如果你从北,东移动到南,它将显示0 - > 180度.如果你从北,西,南移动,它将显示0 - > -180度.
然而,这似乎并非如此,我只是看着我的轴承转动到300度,然后问问题,它是N - > E - > S - > W(正如人们所期望的那样)或N - > W - > S - > E(我知道它可能不会......但谷歌做了更奇怪的事情).
我能想到的另一件事是轴承超过180是由于准确性.
有人可以请一些关于我的思路是否正确的见解.
如果之前有人询问过,请指出正确的方向.我似乎找不到任何有用的谷歌技巧.
我有以下代码,它读取这样的字符串; 停电StartDate:05/10/11 23:59 EST
并提取日期信息,即05/10/11 23:59
sStartTime = Mid(objItem.Body, 18, 15) ' Extract the start time
Debug.Print "sStartTime after reading: " & sStartTime
sStartTime = Format(sStartTime, "dd/mm/yy hh:mm") ' Format date correctly
Debug.Print "sStartTime after formatting: " & sStartTime
Run Code Online (Sandbox Code Playgroud)
这是我通常得到的输出:
sStartTime after reading: 05/10/11 23:59
sStartTime after formatting: 10/05/11 23:59
Run Code Online (Sandbox Code Playgroud)
但有时它甚至交换日期和年份:
sStartTime after reading: 14/07/11 23:59
sStartTime after formatting: 11/07/14 23:59
Run Code Online (Sandbox Code Playgroud)
然后CDate完全填充东西,将日期转换为1931年的事情...任何帮助将日期字符串转换为日期对象将非常感激.
===============
编辑:应该在最初的帖子中提到这一点.读取字符串背后的想法是转换为Date对象,以便我可以创建日历约会.目前我用这个;
dStartTime = CDate(sStartTime)
Run Code Online (Sandbox Code Playgroud)
我认为是问题线,sStartTime ="29/09/11 23:00"(dd/mm/yy hh:mm)和dStartTime ="11/9/2029 11:00:00 PM"
所以很明显会出现一些转换问题,但是我不知道为了将29/09/11 23:00变成等效的日期对象,我想用什么格式来提供CDate函数.
java ×2
outlook-vba ×2
vba ×2
android ×1
appointment ×1
c ×1
calendar ×1
enums ×1
gps ×1
if-statement ×1
outlook ×1
parsing ×1
performance ×1
probability ×1
random ×1