首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何最好地将SharePoint多用户字段字符串转换为SPUsers数组?

要将SharePoint多用户字段字符串转换为SPUsers数组,可以使用以下步骤:

  1. 首先,需要确保已经安装并引用了SharePoint Server 2013的Microsoft.SharePoint.Client和Microsoft.SharePoint.Client.Runtime命名空间。
  2. 然后,使用以下代码将多用户字段字符串转换为SPUsers数组:
代码语言:csharp
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;

namespace SharePointMultiUserFieldToStringArray
{
    class Program
    {
        static void Main(string[] args)
        {
            string siteUrl = "http://your-sharepoint-site-url";
            string userName = "your-username";
            string password = "your-password";
            string multiUserFieldValue = "your-multi-user-field-value";

            ClientContext clientContext = new ClientContext(siteUrl);
            SecureString securePassword = new SecureString();
            foreach (char c in password)
            {
                securePassword.AppendChar(c);
            }
            clientContext.Credentials = new SharePointOnlineCredentials(userName, securePassword);

            List<int> userIds = GetUserIdsFromMultiUserField(clientContext, multiUserFieldValue);
            List<SPUser> spUsers = GetSPUsersFromUserIds(clientContext, userIds);

            Console.WriteLine("SPUsers:");
            foreach (SPUser spUser in spUsers)
            {
                Console.WriteLine("Title: " + spUser.Title);
                Console.WriteLine("Id: " + spUser.Id);
                Console.WriteLine("LoginName: " + spUser.LoginName);
                Console.WriteLine("Email: " + spUser.Email);
            }
        }

        static List<int> GetUserIdsFromMultiUserField(ClientContext clientContext, string multiUserFieldValue)
        {
            List<int> userIds = new List<int>();
            string[] splitValues = multiUserFieldValue.Split(';');
            foreach (string splitValue in splitValues)
            {
                int userId;
                if (int.TryParse(splitValue, out userId))
                {
                    userIds.Add(userId);
                }
            }
            return userIds;
        }

        static List<SPUser> GetSPUsersFromUserIds(ClientContext clientContext, List<int> userIds)
        {
            List<SPUser> spUsers = new List<SPUser>();
            foreach (int userId in userIds)
            {
                User spUser = clientContext.Web.GetUserById(userId);
                clientContext.Load(spUser);
                clientContext.ExecuteQuery();
                spUsers.Add(spUser);
            }
            return spUsers;
        }
    }
}
  1. 最后,将代码中的siteUrl、userName、password和multiUserFieldValue替换为实际的SharePoint站点URL、用户名、密码和多用户字段字符串。

这样,就可以将多用户字段字符串转换为SPUsers数组并输出每个用户的Title、Id、LoginName和Email。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Power Query 真经 - 第 9 章 - 批量合并文件

    9.1 示例文件背景介绍 在这一章中,研究如何为一家制造公司【导入】、【逆透视】和【追加】一系列的季度零件需求数据。...扩展名转换为小写字母。 扩展名筛选限定为同一种文件类型。 在名称中通过筛选排除临时文件(以“~”开头的文件名)。 执行任何需要的额外筛选。...“当前”文件夹路径替换为空(【替换为】什么都不写)。 筛选到下一个子文件夹级别。 为了找到正确的文件夹,可以多次转到 1。...如果它可能会在将来引起问题,那么请删除它,并在加载到最终目的之前数据类型作为最后一步来应用。 由于“Changed Type”在这里似乎没有必要,所以删除它,即使它不会引起任何问题。...图9-23 加载数据到数据模型 将会注意到,尽管在一个会话中创建了多个查询,但只有主查询被加载到目的。所有的辅助查询,包括“示例文件”,默认情况下都是作为“暂存”查询仅保持连接的。

    4.9K40

    如何用Java SE数组实现高速的数字转换功能

    三连即是对作者我写作道路上最好的鼓励与支持!前言  随着大数据时代的到来,数字转换功能变得越来越重要。数字转换功能包括字符串换为数字、数字转换为字符串、以及进制转换等等。...今天我们介绍如何使用Java SE数组实现高速的数字转换功能。摘要  本文介绍了如何使用Java SE数组实现高速的数字转换功能。首先介绍了数字转换功能的重要性以及应用场景。...、数字转换为字符串等等。  ...使用Java SE数组实现进制转换,则可以非常方便快捷实现这一功能。...总结  本文主要介绍了如何使用Java SE数组实现高速的数字转换功能,具体包括字符串转数字、数字字符串以及进制转换。使用Java SE数组实现数字转换功能,具有高效性能、灵活性、方便性等优点。

    18921

    []byte与string的两种转换方式和底层实现

    带着这些疑问,今天分享下并总结string和[]byte的转换方式,不同的转换方式之间的实现和区别两种转换方式如果此时此刻你刚好遇到面试官问你string和[]byte如何进行转换,有几种方式?...为什么string类型没有cap字段string的不可变性,也就不能直接向底层数组追加元素,所以不需要Cap。而[]byte就是一个byte类型的切片,切片本质也是一个结构体。...预先定义了一个长度为32的数组字符串的长度不超过这个长度32的数组,copy函数实现string到[]byte的拷贝若字符串的长度超过了这个长度32的数组,重新分配一块内存了,再进行copy[]byte...string底层实现再看[]bytestring的实现,(实现源码在 src/runtime/string.go 中)const tmpStringBufSize = 32//长度32的数组type...mallocgc(uintptr(n), nil, false)}stringStructOf(&str).str = pstringStructOf(&str).len = n //拷贝byte数组字符串

    31600

    前端JS手写代码面试专题(一)

    接着,通过调用toISOString()方法,日期转换为ISO 8601扩展格式的字符串(例如:“2023-04-01T12:00:00.000Z”)。...这种情况下,如何高效一个数组分割成指定大小的小块就成了一个值得讨论的问题。在JavaScript面试中,这样的问题也经常出现,考察你是否能够灵活运用JavaScript数组的方法来解决实际问题。...8、如何包含连字符(-)和下划线(_)的字符串换为驼峰命名风格呢? 在JavaScript开发中,对字符串的处理是日常任务中不可或缺的一部分。...那么,如何包含连字符(-)和下划线(_)的字符串换为驼峰命名风格呢?例如,字符串“secret_key_one”会被转换为“secretKeyOne”。.../g来查找字符串中的所有连字符或下划线,以及紧随其后的任意字符。在replace方法中使用的回调函数这些匹配到的字符转换为大写,而连字符或下划线本身则被移除,从而实现了转换为驼峰命名的效果。

    17110

    个人永久性免费-Excel催化剂功能第90波-xml与json数据结构转换表格结构

    若能提供xml或json结构的数据直接转换为标准数据表结构,大大减少了xml或json的数据解释的工作量,特别是可以让数据直达终端用户,让用户自主选择所需数据,而不是靠程序员自己解释,取舍哪些字段需要...功能简介 除了核心的json表格结构外,另外附带了两个json和xml互转的功能,即其实无论是json或xml都可以实现转换为标准表结构的数据(xml格式先转为json,再由json表结构) 功能入口...同一次处理的json数据结构应该是相同的,且最好将第1个单元格内放置最全字段的json数据,后续其他单元格的数据按第1个单元格提取到的规则动作。...这个数组下的表 对于不需要导出的字段,可以将其对应的复选框去勾选,导出数据时将不对这些列导出。...不需导出的字段去勾选字段名 步骤4:点击【确认表格及字段选择】,程序按所选择的信息进行json数据提取。 数据已顺利进行转换,存放到工作表内,轻松满足下一步的分析工作。

    1.2K20

    python中dtype什么意思_NumPy Python中的数据类型对象(dtype)

    # Python程序创建数据类型对象 import numpy as np # np.int16换为数据类型对象. print(np.dtype(np.int16)) 输出: int16 # Python...结构化数组是包含不同类型数据的数组。可以借助字段来访问结构化数组字段就像为对象指定名称一样,在结构化数组的情况下,dtype对象也将被结构化。...# Python程序演示字段的使用 import numpy as np # 结构化数据类型,包含16个字符的字符串(在“name”字段中)和两个64位浮点数的子数组(在“grades”字段中) dt...’]) # 具有字段名称的对象的数据类型 print(dt[‘name’]) 输出: (‘ # Python程序演示数据类型对象与结构化数组一起使用。...具有C / C++背景的程序员可能想知道如何不使用换 […]… Python的__name __(特殊变量) 由于Python中没有main()函数,因此当运行Python程序的命令提供给解释器时,执行

    2.2K10

    通过案例讲解MATLAB中的数据类型

    例如,整数数组换为双精度浮点数数组: % 整数数组换为 double 类型 integerArray = [1, 2, 3]; doubleArray = double(integerArray...cell2mat: cell 数组换为常规数组。 mat2cell: 常规数组分割成 cell 数组。 8. struct(结构体): 结构体用来存储不同字段的数据。...% datetime 转换为日期向量 dateVector = datevec(customDateTime); 时间运算 datetime 对象支持日期和时间的运算,可以方便进行时间加减和计算时间间隔...): 在MATLAB中,cellstr 是一个用于文本数组换为单元字符串数组的函数。...单元字符串数组在处理不定长度字符串或不同长度字符串时非常有用,因为每个元素可以包含不同长度的字符串。 需要注意的是,cellstr 主要用于字符数组换为单元字符串数组

    12710

    【58期】盘点那些面试中最常问的MySQL问题,第一弹!

    主要需要记住下面两点: 1、当查询字段是INT类型,如果查询条件为CHAR,查询条件转换为INT,如果是字符串前导都是数字,截取前导数字用来比较,如果没有前导数字,则转换为0。 2....、当查询字段是CHAR/VARCHAR类型,如果查询条件为INT,查询字段换为INT再进行比较,可能会造成全表扫描。...,id:1和id:2字段值转化为0,id:3化成99,再比较 mysql> select * from product where name=0; +----+----------+ | id | name...通过唯一索引,用户可以快速定位某条记录,主键索引是一种特殊的唯一索引。 全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引耗时耗空间。 空间索引:只能建立在空间数据类型上。...该索引指向创建时对应的多个字段,用户可以通过这几个字段进行查询,想使用该索引,用户必须使用这些字段中的一个字段。 扩展问题:MySQL索引是如何提高查询效率的呢?

    66510

    c语言中char转换成string_字符数字转为int型

    而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。 2、大小不同。 用单引号引起的一个字符大小就是一个字节。...to array(int整型数转化为一个字符串,并将值保存在数组string中)的缩写.   ...《C++标准函数库》中说的 有三个函数可以字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy()...—————————— CString与int、char*、char[100]之间的转换- – CString与int、char*、char[100]之间的转换- – CString互转int 字符转换为整数...char[100] char a[100]; CString str(“aaaaaa”); strncpy(a,(LPCTSTR)str,sizeof(a)); CString类型的转换成int 字符转换为整数

    2.9K10

    MySQL面试题

    主要需要记住下面两点: 1、当查询字段是INT类型,如果查询条件为CHAR,查询条件转换为INT,如果是字符串前导都是数字,截取前导数字用来比较,如果没有前导数字,则转换为0。 2....、当查询字段是CHAR/VARCHAR类型,如果查询条件为INT,查询字段换为INT再进行比较,可能会造成全表扫描。...,id:1和id:2字段值转化为0,id:3化成99,再比较 mysql> select * from product where name=; +----+----------+ | id | name...| +----+----------+ | | apple | | | banana | +----+----------+ 3、MySQL 如何高效率随机获取N条数据?...通过唯一索引,用户可以快速定位某条记录,主键索引是一种特殊的唯一索引。 全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引耗时耗空间。 空间索引:只能建立在空间数据类型上。

    62020

    58. 盘点那些面试中最常问的MySQL问题,第一弹

    主要需要记住下面两点: 1、当查询字段是INT类型,如果查询条件为CHAR,查询条件转换为INT,如果是字符串前导都是数字,截取前导数字用来比较,如果没有前导数字,则转换为0。 2....、当查询字段是CHAR/VARCHAR类型,如果查询条件为INT,查询字段换为INT再进行比较,可能会造成全表扫描。...,id:1和id:2字段值转化为0,id:3化成99,再比较 mysql> select * from product where name=0; +----+----------+ | id | name...通过唯一索引,用户可以快速定位某条记录,主键索引是一种特殊的唯一索引。 **全文索引:**仅可用于 MyISAM 表,针对较大的数据,生成全文索引耗时耗空间。...该索引指向创建时对应的多个字段,用户可以通过这几个字段进行查询,想使用该索引,用户必须使用这些字段中的一个字段。 *扩展问题:MySQL索引是如何提高查询效率的呢?*

    5610

    【40期】MySQL常见面试题连环问(一)

    主要需要记住下面两点: 1、当查询字段是INT类型,如果查询条件为CHAR,查询条件转换为INT,如果是字符串前导都是数字,截取前导数字用来比较,如果没有前导数字,则转换为0。 2....、当查询字段是CHAR/VARCHAR类型,如果查询条件为INT,查询字段换为INT再进行比较,可能会造成全表扫描。...,id:1和id:2字段值转化为0,id:3化成99,再比较 mysql> select * from product where name=0; +----+----------+ | id | name...| +----+----------+ | 1 | apple | | 2 | banana | +----+----------+ 3、MySQL 如何高效率随机获取N条数据?...通过唯一索引,用户可以快速定位某条记录,主键索引是一种特殊的唯一索引。 全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引耗时耗空间。 空间索引:只能建立在空间数据类型上。

    20040
    领券