App_Code/RandomHelper.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/************************ 用法start ************************* /

//1.声明一个继承RandomObject的实体类,如:*
public class AdvertEntity : RandomObject
{
    /// <summary>
    /// 名称
    /// </summary>
    public string Name { set; get; }
    /// <summary>
    /// 描述
    /// </summary>
    public string Description { set; get; }
    //...其它相关的字段/属性
 * //下载于51aspx.com
}

//2.初始化调用数据,如:
    //初始化模拟权重数据
    List<Advert> list = new List<Advert>();
    list.Add(new Advert { Name = "A", Weight = 1 });
    list.Add(new Advert { Name = "B", Weight = 2 });
    list.Add(new Advert { Name = "C", Weight = 2 });
    list.Add(new Advert { Name = "D", Weight = 3 });
    list.Add(new Advert { Name = "E", Weight = 4 });
    list.Add(new Advert { Name = "F", Weight = 5 });
    list.Add(new Advert { Name = "G", Weight = 60 });
    //根据权重随机取指定记录条数
    List<Advert> newList = RandomHelper.GetRandomList<Advert>(list, 2);  //这个就是用法,newList就是随机取出的记录(第二个参数就是随机取多少条)

/ ************************ 用法end *************************/


/// <summary>
/// 描述: 根据权重随机抽取指定条数的记录类库
/// 作者:  Foolin
/// 邮箱: Foolin@126.com
/// 日期:  2012年3月22日
/// 微博: http://weibo.com/foolin
/// 博客:  http://foolin.cnblogs.com
/// 版权: 免费、开源,唯一有个小小要求,就是保留原作者信息。
/// </summary>
public class RandomHelper
{

    /// <summary>
    /// 算法:
    /// 1.每个广告项权重+1命名为w,防止为0情况。
    /// 2.计算出总权重n。
    /// 3.每个广告项权重w加上从0到(n-1)的一个随机数(即总权重以内的随机数),得到新的权重排序值s。
    /// 4.根据得到新的权重排序值s进行排序,取前面s最大几个。
    /// </summary>
    /// <param name="list">原始列表</param>
    /// <param name="count">随机抽取条数</param>
    /// <returns></returns>
后面还有 70 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。