我可以用我当前正在做的方式建立一本字典,但我想知道是否有更好更快的方法.我正在尝试使用LINQ SelecMany语句,但遇到了麻烦.
var replyChildren = reply.Children[0];
Dictionary<int, string> slowLog = new Dictionary<int, string>();
for (int i = 0; i < replyChildren.Children.Count(); i++)
{
var ithReplyChildren = replyChildren.Children[i];
for (int j = 0; j < 4; j++)
{
if (j == 3)
{
var jthReplyChildren = ithReplyChildren.Children[j];
for (int k = 0; k < jthReplyChildren.Count; k++)
{
serverInfo += jthReplyChildren.Children[k].TextData; //+ "::";
}
break;
}
serverInfo += ithReplyChildren.Children[j].TextData + ":";
}
slowLog.Add(i, serverInfo);
serverInfo = "";
}
Run Code Online (Sandbox Code Playgroud)
回复将有孩子在里面(第0个元素)然后在那些将有孩子的内部,依此类推.第二个for循环将只有4个孩子,第四个将不得不更深入一步并得到孩子们.
我有一个存储过程,可以删除超过特定日期的所有数据。但我想添加该功能,以便它一次只删除 1000 行。
我有这样的东西
USE [databaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LogTrim]
(
@DaysToKeep INT = 28
--@Blocks INT = 1000 --??
)
AS
SET NOCOUNT ON
---------------------------------------------------------------------
-- Declarations
---------------------------------------------------------------------
-- Standard Variables
DECLARE
@Error INT
,@ErrorCode INT
,@ExitCode INT
,@ProcedureLineNbr INT
,@ProcedureName VARCHAR(30)
,@rc INT
,@Rowcount INT
-- Local Variables
DECLARE
@DateToKeep DATETIME
,@TimePeriodToKeep INT
,@DeletedRowCount DEC
,@Message1 VARCHAR(60)
,@Message2 VARCHAR(60)
,@ERRPARAMETER INT
,@ERRUNEXPECTED INT
---------------------------------------------------------------------
-- Initializations
---------------------------------------------------------------------
-- Standard Variables …Run Code Online (Sandbox Code Playgroud)