本文整理汇总了C#中Key.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# Key.Equals方法的具体用法?C# Key.Equals怎么用?C# Key.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Key
的用法示例。
在下文中一共展示了Key.Equals方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Get
/// <summary>
/// Gets the already cached value for a key, or calculates the value and stores it.
/// </summary>
/// <param name="pattern">The pattern used to create the regular expression.</param>
/// <param name="options">The options for regex.</param>
/// <returns>The calculated or cached value.</returns>
public Regex Get(string pattern, RegexOptions options)
{
if (pattern == null) throw new ArgumentNullException("pattern");
lock (this)
{
var current = new Key(pattern, options);
if (this.hasValue && current.Equals(this.key))
{
return this.regex;
}
this.regex = new Regex(pattern, options);
this.key = current;
this.hasValue = true;
return this.regex;
}
}
示例2: HandleKeyDown
public void HandleKeyDown(Key key)
{
//key already in
if (!_keyMonitor.Add(key))
{
return;
}
//control keys
if (ItsPlaybackHotKeyBindings.Ctrl && !(_keyMonitor.Contains(Key.LeftCtrl) || _keyMonitor.Contains(Key.RightCtrl)))
{
return;
}
if (ItsPlaybackHotKeyBindings.Alt && !(_keyMonitor.Contains(Key.LeftAlt) || _keyMonitor.Contains(Key.RightAlt)))
{
return;
}
if (key.Equals(ItsPlaybackHotKeyBindings.PrevTrack))
{
ItsPlaybackHandler.PrevTrack();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.NextTrack))
{
ItsPlaybackHandler.NextTrack();
}
else if (_keyMonitor.Contains(ItsPlaybackHotKeyBindings.PlayPause))
{
ItsPlaybackHandler.PlayPauseToggle();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.Mute))
{
ItsPlaybackHandler.Mute();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.Shuffle))
{
ItsPlaybackHandler.Shuffle();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.Replay))
{
ItsPlaybackHandler.Replay();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.VolumeDown))
{
ItsPlaybackHandler.VolumeDown();
}
else if (key.Equals(ItsPlaybackHotKeyBindings.VolumeUp))
{
ItsPlaybackHandler.VolumeUp();
}
}
示例3: Compare
public void Compare()
{
var x = new Key();
Assert.IsTrue(x.CompareTo(null) > 0);
Assert.IsFalse(x.Equals(null));
Assert.IsFalse(x.Equals(string.Empty));
Assert.IsTrue(x != null);
var y = new Key();
Assert.AreEqual(x, y);
Assert.IsTrue(x.CompareTo(y) == 0);
Assert.IsTrue(x == y);
x.Row = "A";
y.Row = "B";
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
Assert.IsTrue(x != y);
Assert.IsTrue(x < y);
Assert.IsFalse(x > y);
x.Row = "AB";
y.Row = "AB";
Assert.AreEqual(x, y);
Assert.IsTrue(x.CompareTo(y) == 0);
Assert.IsTrue(y.CompareTo(x) == 0);
Assert.IsTrue(x == y);
x.ColumnFamily = "A";
y.ColumnFamily = "B";
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
Assert.IsTrue(x != y);
Assert.IsTrue(x < y);
Assert.IsFalse(x > y);
x.ColumnFamily = null;
y.ColumnFamily = string.Empty;
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
x.ColumnFamily = "AB";
y.ColumnFamily = "AB";
Assert.AreEqual(x, y);
Assert.IsTrue(x.CompareTo(y) == 0);
Assert.IsTrue(y.CompareTo(x) == 0);
Assert.IsTrue(x == y);
x.ColumnQualifier = "A";
y.ColumnQualifier = "B";
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
Assert.IsTrue(x != y);
Assert.IsTrue(x < y);
Assert.IsFalse(x > y);
x.ColumnQualifier = null;
y.ColumnQualifier = string.Empty;
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
Assert.IsTrue(x != y);
Assert.IsTrue(x < y);
Assert.IsFalse(x > y);
x.ColumnQualifier = "AB";
y.ColumnQualifier = "AB";
Assert.AreEqual(x, y);
Assert.IsTrue(x.CompareTo(y) == 0);
Assert.IsTrue(y.CompareTo(x) == 0);
Assert.IsTrue(x == y);
x.DateTime = new DateTime(2011, 1, 1, 1, 2, 3, DateTimeKind.Utc);
y.DateTime = new DateTime(2011, 1, 1, 1, 2, 4, DateTimeKind.Utc);
Assert.AreNotEqual(x, y);
Assert.IsTrue(x.CompareTo(y) < 0);
Assert.IsTrue(y.CompareTo(x) > 0);
Assert.IsTrue(x != y);
Assert.IsTrue(x < y);
Assert.IsFalse(x > y);
x.DateTime = new DateTime(2011, 1, 1, 1, 2, 3, DateTimeKind.Utc);
y.DateTime = new DateTime(2011, 1, 1, 1, 2, 3, DateTimeKind.Utc);
Assert.AreEqual(x, y);
Assert.IsTrue(x.CompareTo(y) == 0);
Assert.IsTrue(y.CompareTo(x) == 0);
Assert.AreEqual(x, y);
}
示例4: GetNextHopNodes
public NodeHandle[] GetNextHopNodes(Key dest, int maxNum, Key exclude)
{
int match = Key.MatchBitsFromMSB (_selfNodeId, dest);
if (match >= _routingTable.Length || _routingTable[match] == null)
return null;
List<NodeHandle> list = new List<NodeHandle> ();
Key minDist = _selfNodeId ^ dest;
Key selfDist = minDist;
lock (_routingTable[match]) {
for (int i = 0; i < Math.Min (maxNum, _routingTable[match].Count); i++) {
if (exclude != null && exclude.Equals (_routingTable[match][i].NodeID))
continue;
Key dist = dest ^ _routingTable[match][i].NodeID;
if (minDist.CompareTo (dist) > 0) {
minDist = dist;
}
list.Add (_routingTable[match][i]);
}
}
if (minDist == selfDist)
return null;
return list.ToArray ();
}
示例5: GetCloseNodes
public NodeHandle[] GetCloseNodes(Key target, int maxNum, Key exclude)
{
List<NodeHandle> nodes;
lock (_routingTable) {
nodes = new List<NodeHandle> (_flatList.ToArray ());
}
if (exclude != null) {
for (int i = 0; i < nodes.Count; i ++) {
if (exclude.Equals (nodes[i].NodeID)) {
nodes.RemoveAt (i);
break;
}
}
}
nodes.Sort (delegate (NodeHandle x, NodeHandle y) {
Key diffX = target ^ x.NodeID;
Key diffY = target ^ y.NodeID;
return diffX.CompareTo (diffY);
});
NodeHandle[] results = new NodeHandle[Math.Min (nodes.Count, maxNum)];
nodes.CopyTo (0, results, 0, results.Length);
return results;
}
示例6: ToAcceleratorString
/// <summary>
/// Converts the key and modifier into an accelerator string suitable for
/// displaying to the user. If it is a partial modifiers (e.g., one that does
/// end with a complete accelerator), the flag is set.
/// </summary>
/// <param name="key">The key.</param>
/// <param name="modifiers">The modifiers.</param>
/// <param name="isParitalAccelerator">if set to <c>true</c> [is parital accelerator].</param>
/// <returns></returns>
/// <remarks>
/// Stolen from MonoDevelop.
/// </remarks>
public static string ToAcceleratorString(
Key key,
ModifierType modifiers,
out bool isParitalAccelerator)
{
// Start with an empty string for formatting. We always process
// the modifiers in the same order to ensure consistency.
bool isShift = key.Equals(Key.Shift_L) || key.Equals(Key.Shift_R);
bool isControl = key.Equals(Key.Control_L) || key.Equals(Key.Control_R);
bool isAlt = key.Equals(Key.Alt_L) || key.Equals(Key.Alt_R);
bool isMeta = key.Equals(Key.Meta_L) || key.Equals(Key.Meta_R);
bool isSuper = key.Equals(Key.Super_L) || key.Equals(Key.Super_L);
string label = String.Empty;
if (isControl || (modifiers & ModifierType.ControlMask) != 0)
{
label += "Control+";
}
if (isAlt || (modifiers & ModifierType.Mod1Mask) != 0)
{
label += "Alt+";
}
if (isShift || (modifiers & ModifierType.ShiftMask) != 0)
{
label += "Shift+";
}
if (isMeta || (modifiers & ModifierType.MetaMask) != 0)
{
label += "Meta+";
}
if (isSuper || (modifiers & ModifierType.SuperMask) != 0)
{
label += "Super+";
}
// Add in the terminal character, which may be a letter or code.
if (isControl
|| isAlt
|| isShift
|| isSuper
|| isMeta)
{
isParitalAccelerator = true;
}
else
{
label += ToString(key);
isParitalAccelerator = false;
}
// Return the resulting key.
return label;
}