当前位置: 首页>>代码示例>>C#>>正文


C# Key.Equals方法代码示例

本文整理汇总了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;
            }
        }
开发者ID:psoholt,项目名称:CSharpVerbalExpressions,代码行数:24,代码来源:RegexCache.cs

示例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();
            }
        }
开发者ID:jstrength,项目名称:SpotifyHotkeys,代码行数:51,代码来源:SpotifyKeyHandler.cs

示例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);
        }
开发者ID:andysoftdev,项目名称:ht4n,代码行数:92,代码来源:TestKey.cs

示例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 ();
        }
开发者ID:kazuki,项目名称:p2pncs,代码行数:25,代码来源:SimpleRoutingAlgorithm.cs

示例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;
        }
开发者ID:kazuki,项目名称:p2pncs,代码行数:24,代码来源:SimpleRoutingAlgorithm.cs

示例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;
        }
开发者ID:dmoonfire,项目名称:mfgames-gtkext-cil,代码行数:70,代码来源:GdkUtility.cs


注:本文中的Key.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。