• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# LinkedListNode类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中LinkedListNode的典型用法代码示例。如果您正苦于以下问题:C# LinkedListNode类的具体用法?C# LinkedListNode怎么用?C# LinkedListNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LinkedListNode类属于命名空间,在下文中一共展示了LinkedListNode类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Put

        public override void Put(object Key, object Value)
        {
            if (Get(Key) == null)
            {
                this.openNode.Value.ItemKey = Key;
                this.openNode.Value.ItemValue = Value;
                this.list.AddFirst(this.openNode);
                this.lookup.Add(Key, this.openNode);

                if (this.list.Count > this.capacity)
                {
                    // last node is to be removed and saved for the next addition to the cache
                    this.openNode = this.list.Last;

                    // remove from list & dictionary
                    this.list.RemoveLast();
                    this.lookup.Remove(this.openNode.Value.ItemKey);
                }
                else
                {
                    // still filling the cache, create a new open node for the next time
                    this.openNode = new LinkedListNode<ListValueEntry>(new ListValueEntry(null, null));
                }
            }
        }
开发者ID:Rationalle,项目名称:ravendb,代码行数:25,代码来源:SimpleLRUCache.cs


示例2: GetLastNode

 public override LinkedListNode<Token> GetLastNode(LinkedList<Token> lToken, LinkedListNode<Token> current)
 {
     //Find the partner
     if(current.Previous.Value.Type == TokenType.ROUND_BRANCE_OPEN)
         return current.Previous.Value.Partner;
     return current;
 }
开发者ID:ninox92,项目名称:DP2-Compiler,代码行数:7,代码来源:CompiledCondition.cs


示例3: IntersectionTestsNoSet

        public void IntersectionTestsNoSet()
        {
            var inputOne = new LinkedListNode<int>(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

            for (var currentInt = inputOne; currentInt.Next != null; currentInt = currentInt.Next)
            {
                for (var i = 0; i < 10; i++)
                {
                    var inputTwo = new LinkedListNode<int>(11, 12, 13, 14, 15, 16, 17, 18, 19, 20);

                    var currentRepl = inputTwo;
                    for (var j = 0; j < i; j++, currentRepl = currentRepl.Next) ;

                    if (currentRepl.Last == null)
                    {
                        inputTwo = currentInt;
                    }
                    else
                    {
                        currentRepl.Last.Next = currentInt;
                    }

                    Assert.AreSame(currentInt, Answer.GetIntersectionNoSet(inputOne, inputTwo));
                }
            }
        }
开发者ID:EricSquires,项目名称:Cracking-the-Coding-Interview,代码行数:26,代码来源:AnswerTests.cs


示例4: TryParse

 public override bool TryParse(IDictionary<string, string> properties, LinkedListNode<PathSegment> currentParser, ref LinkedListNode<string> currentSegment)
 {
     bool success = currentSegment != null && currentSegment.Value.EqualsNoCase(_path);
     if (success)
         currentSegment = currentSegment.Next;
     return success;
 }
开发者ID:modulexcite,项目名称:openwrap,代码行数:7,代码来源:LiteralPathSegment.cs


示例5: Main

        static void Main(string[] args)
        {
            Stack<int> s = new Stack<int>();
            Queue<int> q = new Queue<int>();

            for (int i = 0; i < 10; ++i)
            {
                s.Push(i);
                q.Enqueue(i);
            }

            while (s.Count > 0)
                Console.WriteLine(s.Pop()); //Writes them out in reverse order (9-0). 'Cause FILO

            while (q.Count > 0)
                Console.WriteLine(q.Dequeue()); //Writes them in order (FIFO).
            //New list
            LinkedList<Student> TwoKay = new LinkedList<Student>();
            //New node with a new student
            LinkedListNode<Student> Current = new LinkedListNode<Student>(new Student("AJ", 123432)); 
            //Take that node and add it to my list.
            TwoKay.AddFirst(Current);
            //Add a student without creating a node first
            TwoKay.AddBefore(TwoKay.First, new Student("Caleb", 123456));
            //Show it
            PrintList(TwoKay);
            //Change AJ
            TwoKay.First.Next.Value = new Student("AJ the Mighty", 333);
            //Print the list again
            PrintList(TwoKay);
            //Now, note that the value of current changed, too, because reference.
            Console.WriteLine(Current.Value);
        }
开发者ID:Hailieu,项目名称:CMPE1700.Public,代码行数:33,代码来源:Program.cs


示例6: compile

        public override NodeLinkedList compile(ref LinkedListNode<Token> currentToken)
        {
            Token leftToken = currentToken.Value;
            string leftName = leftToken.value;
            Token rightToken = currentToken.Next.Next.Value;
            string rightName = rightToken.value;
            //Compile left of +
            //var leftCompiled = CompilerFactory.Instance.CreateCompiledStatement(currentToken);

            //Temp variable for left
            if(leftToken.type == VariableType.Number) {
                leftName = CompiledStatement.getUniqueId();
                Compiled.Add(new DirectFunctionCallNode("ConstantToReturn", leftToken.value));
                Compiled.Add(new DirectFunctionCallNode("ReturnToVariable", leftName));
            }

            //Temp variable for right
            if(rightToken.type == VariableType.Number) {
                rightName = CompiledStatement.getUniqueId();
                Compiled.Add(new DirectFunctionCallNode("ConstantToReturn", rightToken.value));
                Compiled.Add(new DirectFunctionCallNode("ReturnToVariable", rightName));
            }
            currentToken = currentToken.Next;

            if(currentToken.Value.type == VariableType.Add){
                Compiled.Add(new FunctionCallNode("Add", leftName, rightName));
            }

            currentToken = currentToken.Next.Next;
            return Compiled;
        }
开发者ID:TerrorEdje,项目名称:GeenCompilerOfzo,代码行数:31,代码来源:CompiledPlus.cs


示例7: isMatch

 public override bool isMatch(LinkedListNode<Token> currentToken)
 {
     // matched if current is a variable or number, next is a plus en third is also a number or variable.
     return (currentToken.Value.type == VariableType.Variable || currentToken.Value.type == VariableType.Number)
         && currentToken.Next.Value.type == VariableType.Add
         && (currentToken.Next.Next.Value.type == VariableType.Variable || currentToken.Next.Next.Value.type == VariableType.Number);
 }
开发者ID:TerrorEdje,项目名称:GeenCompilerOfzo,代码行数:7,代码来源:CompiledPlus.cs


示例8: MoveNext

 public void MoveNext()
 {
     bool final = enumer.MoveNext();
     if (final)
     {
         if (enumer.Current is Coroutine)
         {
             var co = enumer.Current as Coroutine;
             LinkedListNode<Action> node = new LinkedListNode<Action>(co.MoveNext);
             stack.AddLast(node);
             co.MoveNext();
         }
         if (enumer.Current is IEnumerator)
         {
             var co = new Coroutine(enumer.Current as IEnumerator);
             LinkedListNode<Action> node = new LinkedListNode<Action>(co.MoveNext);
             stack.AddLast(node);
             co.MoveNext();
         }
     }
     else
     {
         stack.Last.Value -= MoveNext;
         if (stack.Last.Value == null)
         {
             stack.RemoveLast();
             Run();
         }
     }
 }
开发者ID:zardlee1937,项目名称:CBT,代码行数:30,代码来源:Coroutine.cs


示例9: GetUntilPartner

        private static List<LinkedListNode<Token>> GetUntilPartner(ref LinkedListNode<Token> fromToken)
        {
            List<LinkedListNode<Token>> l = new List<LinkedListNode<Token>>();

            Token toToken = fromToken.Value.Partner;
            fromToken = fromToken.Next;
            while (fromToken.Value != toToken)
            {
                l.Add(fromToken);
                fromToken = fromToken.Next;
            }

            return l;
            //Token toToken = fromToken.Value.Partner;
            //fromToken = fromToken.Next;
            //string code = "";
            //while (fromToken.Value != toToken)
            //{
            //    code += fromToken.Value.Text;

            //    fromToken = fromToken.Next;
            //}

            //return code;
        }
开发者ID:acdoorn,项目名称:tokenizer,代码行数:25,代码来源:BaseCompiler.cs


示例10: compile

        public override NodeLinkedList compile(ref LinkedListNode<Token> currentToken)
        {
            Token leftToken = currentToken.Value;
            string leftName = leftToken.value;
            Token rightToken = currentToken.Next.Next.Value;
            string rightName = rightToken.value;
            //Compile left of +
            //var leftCompiled = CompilerFactory.Instance.CreateCompiledStatement(currentToken);

            //Temp variable for left
            if(leftToken.type == TokenType.Number) {
                leftName = CompiledStatement.getUniqueId();
                Compiled.Add(new DirectFunctionCallNode(DirectFunctionCallNode.CONSTANTTORETURN, leftToken));
                Compiled.Add(new DirectFunctionCallNode(DirectFunctionCallNode.RETURNTOVARIABLE, leftName));
            }

            //Temp variable for right
            if(rightToken.type == TokenType.Number) {
                rightName = CompiledStatement.getUniqueId();
                Compiled.Add(new DirectFunctionCallNode(DirectFunctionCallNode.CONSTANTTORETURN, rightToken));
                Compiled.Add(new DirectFunctionCallNode(DirectFunctionCallNode.RETURNTOVARIABLE, rightName));
            }
            currentToken = currentToken.Next;

            if(currentToken.Value.type == TokenType.Multiply) {
                Compiled.Add(new FunctionCallNode("Multiply", leftName, rightName));
            }

            currentToken = currentToken.Next.Next;
            return Compiled;
        }
开发者ID:armed10,项目名称:GeenCompilerOfzo,代码行数:31,代码来源:CompiledMultiply.cs


示例11: Translate

        public override LinkedListNode<Tag> Translate(TranslateContext context, LinkedListNode<Tag> self) {
            var cellCount = self.AsEnumerable().Skip(1).TakeWhile(x => !(x.Value is NewLineTag)).Count(x => x.Value is TableCellTag);

            // only start tables if this tag appears on start of line
            if (cellCount > 0 && self.AsReverseEnumerable().TakeWhile(x => !(x.Value is NewLineTag)).All(x => x.Value is SpaceTag)) 
            {
                context.Append("<table class='wikitable'>");

                var n = self;
                while (n?.Value is TableCellTag)
                {
                    if (cellCount != n.AsEnumerable().Skip(1).TakeWhile(x => !(x.Value is NewLineTag)).Count(x => x.Value is TableCellTag)) break;

                    context.Append("<tr>");

                    LinkedListNode<Tag> nextStop;
                    while ((nextStop = n.Next.FirstNode(x => x.Value is NewLineTag || x.Value is TableCellTag))?.Value is TableCellTag)
                    {
                        context.Append("<td>");
                        n.Next.TranslateUntilNode(context, nextStop);
                        context.Append("</td>");
                        n = nextStop;
                    }

                    context.Append("</tr>");

                    n = n.FirstNode(x => x.Value is NewLineTag)?.Next; // move after nextline
                }
                context.Append("</table>");
                return n;
            }
            context.Append(Text);
            
            return self.Next;
        }
开发者ID:DeinFreund,项目名称:Zero-K-Infrastructure,代码行数:35,代码来源:TableCellTag.cs


示例12: loadData

    public void loadData(Action<CachedDS> callback, LinkedListNode<CachedDS> next) {
      var v_cli = new JsonStoreClient {
        AjaxMng = ajaxMng,
        BioCode = bioCode
      };
      v_cli.Load(bioParams, (s, a) => {
        if (a.Response.Success) {
          if (v_cli.JSMetadata.Fields.Count > 1) {
            this.metadata = v_cli.JSMetadata;
            this.data = v_cli.DS;
          }
          
          var eve = this.OnLoaded;
          if (eve != null)
            eve(this, new EventArgs());
          
          if (callback != null)
            callback(this);

          if (next != null)
            next.Value.loadData(callback, next.Next);

        }
      });
    }
开发者ID:tormoz70,项目名称:Bio.Framework.8,代码行数:25,代码来源:CachedDS.cs


示例13: MoveToNextEmptySlot

        /// <summary>
        /// Moves caret to the next tab stop if any.
        /// </summary>
        internal bool MoveToNextEmptySlot()
        {
            if (_tabSpans == null || (_tabSpans.Count == 0))
                return false;

            LinkedListNode<ITrackingSpan> node;
            if (null == _lastNavigatedSpan)
            {
                node = _tabSpans.First;
                _lastNavigatedSpan = node;
            }
            else if (null != _lastNavigatedSpan.Next)
            {
                node = _lastNavigatedSpan.Next;
                _lastNavigatedSpan = node;
            }
            else
            {
                _tabSpans = null;
                _lastNavigatedSpan = null;

                return false;
            }

            Span span = node.Value.GetSpan(_view.TextBuffer.CurrentSnapshot);
            MoveTab(span);

            return true;
        }
开发者ID:thor5,项目名称:emmet.net,代码行数:32,代码来源:TabSpanManager.cs


示例14: Get_Direct_Child_Roles

        /// <summary>
        /// 获取某个角色的所有直接下级角色,形成链表返回
        /// </summary>
        /// <param name="roleName"></param>
        /// <returns></returns>
        public static LinkedList<string> Get_Direct_Child_Roles(string roleName)
        {
            LinkedList<string> LinkRole = new LinkedList<string>();

            OleDbConnection oleDB = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dac.accdb");
            oleDB.Open();
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = oleDB;
            cmd.CommandText = "select *  from  [角色关系信息表] where 父角色名称=" + "'" + roleName.ToLower() + "'";//查找账号是否已经被注册
            OleDbDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    if (string.Equals(dr["子角色名称"], "(null)") == false)//存在子级角色
                    {
                        if (LinkRole.Find(dr["子角色名称"].ToString()) == null)//当前链表总不存在该名称时才查找
                        {
                            LinkedListNode<string> L = new LinkedListNode<string>(dr["子角色名称"].ToString());//将父级角色添加到链表的第一个位置
                            LinkRole.AddLast(L);
                        }

                    }

                }
            }

            dr.Close();
            oleDB.Close();
            return LinkRole;
        }
开发者ID:xxxhycl2010,项目名称:RBAC-1,代码行数:36,代码来源:RH_View.cs


示例15: Compile

        public override DoubleLinkedList Compile(ref LinkedListNode<Token> currentToken)
        {
            compiledStatement.AddLast(NodeFactory.Create("FunctionCall", "DeclareVariableType", new List<Token>() { currentToken.Value, currentToken.Next.Value }));

            currentToken = currentToken.Next;
            return compiledStatement;
        }
开发者ID:JoostvdB94,项目名称:DannyJoostCompiler,代码行数:7,代码来源:DeclarationStatement.cs


示例16: Insert

        /// <summary>
        /// Inserts the specified token at the given depth.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <param name="depth">The depth.</param>
        public void Insert(Token token, int depth)
        {
            var index = (int)Hash(token.Lexeme) % PRIME_TABLE_SIZE;
            var newEntry = new LinkedListNode<Entry>
            {
                Value = new Entry
                {
                    Token = token,
                    Depth = depth
                }
            };

            // Collision
            if (this._Table[index] != null)
            {
                var possibleDuplicateEntry = this.Lookup(token.Lexeme);

                // possibleDuplicateEntry is the latest [Lexeme] inserted into the table
                if (possibleDuplicateEntry != null && possibleDuplicateEntry.Depth == depth)
                {
                    throw new DuplicateEntryException(token.Lexeme);
                }

                newEntry.Next = this._Table[index];
                this._Table[index].Previous = newEntry;
            }

            this._Table[index] = newEntry;
        }
开发者ID:dubeme,项目名称:Lame-Java-Compiler,代码行数:34,代码来源:SymbolTable.cs


示例17: SimpleLRUCache

 public SimpleLRUCache(int Capacity)
 {
     this.capacity = Capacity;
     this.list = new LinkedList<ListValueEntry>();
     this.lookup = new Dictionary<object, LinkedListNode<ListValueEntry>>(Capacity + 1);
     this.openNode = new LinkedListNode<ListValueEntry>(new ListValueEntry(null, null));
 }
开发者ID:Rationalle,项目名称:ravendb,代码行数:7,代码来源:SimpleLRUCache.cs


示例18: FinalizeDataHolder

		public void FinalizeDataHolder()
		{
			SpawnEntry = NPCMgr.GetSpawnEntry(SpawnId);
			if (SpawnEntry == null)
			{
				ContentMgr.OnInvalidDBData("{0} had an invalid SpawnId.", this);
			}
			else
			{
				var added = false;
				var cur = SpawnEntry.Waypoints.First;
				while (cur != null)
				{
					if (cur.Value.Id > Id)
					{
						Node = cur.List.AddBefore(cur, this);
						added = true;
						break;
					}
					
					if (cur.Value.Id == Id)
					{
						ContentMgr.OnInvalidDBData("Found multiple Waypoints with the same Id {0} for SpawnEntry {1}", Id, SpawnEntry);
						return;
					}
					cur = cur.Next;
				}

				if (!added)
				{
					SpawnEntry.HasDefaultWaypoints = false;
					Node = SpawnEntry.Waypoints.AddLast(this);
				}
			}
		}
开发者ID:primax,项目名称:WCell,代码行数:35,代码来源:WaypointEntry.cs


示例19: LoadLevelSelection

 public void LoadLevelSelection(string fileAddress,ContentManager content)
 {
     levelData.Clear();
     BFFileReader reader = new BFFileReader(fileAddress);
     reader.Open();
     string line = null;
     while((line = reader.ReadLine())!= null)
     {
         LevelData levelInfo;
         string[] param = line.Split(' ');
         levelInfo.name = param[0];
         levelInfo.texture = content.Load<Texture2D>(param[1]);
         levelData.AddLast(levelInfo);
     }
     reader.Close();
     data = levelData.First;
     //load the left and right arrow textures
     leftArrowTex = content.Load<Texture2D>("Left");
     rightArrowTex = content.Load<Texture2D>("Right");
     Texture2D exit = content.Load<Texture2D>("Exit");
     Texture2D start = content.Load<Texture2D>("Resume");
     font = content.Load<SpriteFont>("Font");
     selection = new Menu(4, new Rectangle(parent.ScreenWidth/2 -(exit.Width/2),parent.ScreenHeight/2+15,exit.Width,exit.Height),start,exit);
     time = InputDelay;
 }
开发者ID:JustinWeq,项目名称:Barfight-CS-285,代码行数:25,代码来源:LevelSelection.cs


示例20: LoadDataIntoCells

 public void LoadDataIntoCells(ICell[] cells)
 {
     while (TokenNode != null)
     {
         switch (TokenNode.Value.Tag)
         {
             case Tag.FORMAT_START:
                 {
                     FAPFileVerifier verifier = new FAPFileVerifier(TokenNode);
                     if (verifier.IsAssignmentFormat() == false)
                     {
                         throw new InvalidFAPFileException("The Format type of the given assignment file is not of an \"ASSIGNMENT\" type");
                     }
                 }
                 break;
             case Tag.GENERATION_INFORMATION_START:
                 {
                     FAPFileVerifier verifier = new FAPFileVerifier(TokenNode);
                     if (verifier.ValidScenarioID(ScenarioID) == false)
                     {
                         throw new InvalidScenarioIDException("The given assignment file scenario id doesn't match the problem file scenario id");
                     }
                 }
                 break;
             case Tag.CELLS_START: FillCells(cells);
                 break;
         }
         TokenNode = TokenNode.Next;
     }
 }
开发者ID:Burmudar,项目名称:FAPPSO,代码行数:30,代码来源:FAPTestLoader.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# LinkedQueue类代码示例发布时间:2022-05-24
下一篇:
C# LinkedList类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap