Di you accept new proposals? Or at least, do you fix well known errors?
Changes have been made... they continue to be made. Suggesting a change isn't any sort of guarantee, but not suggesting is a sure fire way to not have it happen. When suggesting, you need to provide context... reason... benefit... etc. behind the suggestion; otherwise, without context, it will most likely be rejected. Again, having context is... again... no guarantee that it will be accepted. Furthermore, suggesting it... alone... will most likely not result in getting it done (unless it is a verifiable bug... and then... maybe... most likely... possibly). The policy, as best I know it, is to make a strong case (positive point of view being key) for the why and, only then, if it is approved should you spend more time working on it as a community contribution.
Public Class TokenEnumerator Implements IEnumerator(Of TokenInfo) End Class
Public Class TokenEnumerator Implements IEnumerable(Of TokenInfo) Implements IEnumerator(Of TokenInfo) Public Function GetEnumerator() As IEnumerator(Of TokenInfo) Implements IEnumerable(Of TokenInfo).GetEnumerator Return Me End Function Private Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator Return GetEnumerator() End Function End Class
I hope VB and C# allow for each to handle this so we don't have to make the code that unnecessary verbose!
Public Overloads Property Children As UIElementCollection Get Return MyBase.Children End Get Set(value As UIElementCollection) MyBase.Children.Clear() For Each child In value MyBase.Children.Add(child) Next End Set End Property
To test to see if a value is within a range of numbers, we can use a simple expression like
min <= value and value <= max.
Is there an equivalent expression to test if a value is within a range that uses a stepping.
I think the following function would suffice, for ascending range. Not too sure about descending ranges.
<extension> function IsBewteen( value As Integer, min As Integer, max As Integer, stepping As Integer) As Boolean If min <= max Then If stepping <= 0 Then Throw New ArgumentOutOfRangeException(NameOf(stepping), "Must have a non-zero positive value.") Return ((min <= value) And (value <= max)) AndAlso ( (value Mod stepping) = (min Mod stepping) ) Else If stepping >=0 Then Throw New ArgumentOutOfRangeException(NameOf(stepping), "Must have a non-zero negative value.") Return value.IsBewteen(max, min, -stepping) End IF End Function
There is still an issue around the
Integer.MaxValue, any suggestion on how to manage them with out resorting to enclosing it in a
try ... catch block?
I want to fairly efficiently to check if a value, is within two bounds but that range isn't continuous but has a regular stepping.
start := 0, finish := 10, stepping:= 2' Ifvalue:=2
then return true. Ifvalue=7` return false.
The following works, assuming we if pass in arguments that satisfies the for loop conditions.
Function IsBetween(value as Integer, start As Integer, finish As Integer, stepping As Integer ) As Boolean For index = start To finish Step stepping If index = value Then Return True Next Return False End Function
But it is rather inefficient, since we could check if a value is within some bounds simply using
Math.Min(start, finish) <= value and value<=Math.Max(start, finish). But this doesn't take into account a stepping. My question is, "Is there an efficient way to do that?"
(value - start) % step == 0?