小编tdg*_*gdr的帖子

删除字符串末尾的数字C#

我正在尝试删除给定字符串末尾的数字.

AB123 -> AB
123ABC79 -> 123ABC
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情;

string input = "123ABC79";
string pattern = @"^\\d+|\\d+$";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Run Code Online (Sandbox Code Playgroud)

然而替换字符串与输入相同.我对正则表达式不太熟悉.我可以简单地将字符串拆分成一个字符数组,并在其上循环以完成它,但它不是一个好的解决方案.删除仅在字符串末尾的数字有什么好的做法?

提前致谢.

c# regex string substring

11
推荐指数
2
解决办法
1万
查看次数

使用特定所有者创建新记录,而无需在CRM 2011中调用AssignRequest

在我们的应用程序中,我们创建了几千个电话呼叫记录.每个电话呼叫应具有不同的所有者,由名为GetAnyAppropriateSystemUser()的方法确定,该方法根据某些条件查找一些随机的SystemUser.

在下面的代码示例中,我们创建了一个电话呼叫,稍后在其上使用AssignRequest来指定其所有者.

PhoneCall phoneCall = new PhoneCall();

// 
// stuff to set up the new PhoneCall instance here; populate fields, etc...
//

// determine this phonecall's owner through some algorithm
Guid appropriateOwner = GetAnyAppropriateSystemUser();

Guid createdPhoneCallId = _serviceProxy.Create(phoneCall);
if (createdPhoneCallId != Guid.Empty)
{
    AssignRequest phoneCallAssign = new AssignRequest();
    phoneCallAssign.Assignee = new EntityReference(SystemUser.EntityLogicalName, appropriateOwner);
    phoneCallAssign.Target = new EntityReference(PhoneCall.EntityLogicalName, createdPhoneCallId);
    _serviceProxy.Execute(phoneCallAssign);
}
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但有两个调用,一个用于创建,另一个用于分配.在调用Create()方法之前设置PhoneCall记录的"ownerid"是否可以,从而无需在以后调用AssignRequest?它似乎工作,我甚至找到了一个在SDK中做类似事情的例子,如下所示.

SDK示例:针对目标收入汇总自定义期间的目标数据

// Create three goals: one parent goal and two child goals.
Goal parentGoal = new Goal()
{
    Title …
Run Code Online (Sandbox Code Playgroud)

c# dynamics-crm ownership assign dynamics-crm-2011

5
推荐指数
1
解决办法
1万
查看次数

安卓GPS更新频率

我正在编写一个单圈计时应用程序,但遇到了 GPS 更新频率问题。在速度超过 75 公里/小时(21 米/秒)时,我的代码停止工作。我的问题是如何以更快的速度请求更新?我需要它以高达 300 公里/小时(83 米/秒)的速度工作,并希望应用程序每行驶几米就获得更新,这意味着它需要每 0.025 秒 @ 300 公里/小时更新一次。下面是我的代码,我尝试了一个替代代码来获取时间戳,但得到了相同的结果,我相信这是 GPS 更新频率问题而不是代码问题。我希望以 300 公里/小时的速度每隔几米更新一次,以防手机在切线上穿过邻近半径。

int prox = 30;      // Proximity Switch To Finish Line = 30 meters
int speedGov = 0;   // Speed In Kmh

public void OnProviderDisabled(string provider)
{
}

public void OnProviderEnabled(string provider)
{
}

public void OnStatusChanged(string provider, Availability status, Bundle extras)
{
}

protected override void OnResume()
{
    this.InitializeLocationManager();
    base.OnResume();
    _locationManager.RequestLocationUpdates(_locationProvider, 0, 0, this);
}

void InitializeLocationManager()
{
    _locationManager = (LocationManager)GetSystemService(LocationService);
    Criteria …
Run Code Online (Sandbox Code Playgroud)

java gps android

5
推荐指数
1
解决办法
5104
查看次数

Retrieve不会在dynamics crm 2011中使用插件检索所有属性

我正在尝试获取父实体的字段,但我没有获得所有字段,只有其中一些字段.

Entity parentEntity = service.Retrieve("entityname", id, new ColumnSet(true));
Run Code Online (Sandbox Code Playgroud)

在调试时,我看到返回实体中自定义实体的一些自定义属性,但其中一些缺失.例如,我得到选项列表的整数值,但不是值字段的值.检索到的实体中没有这样的属性.

它是一个触发更新后事件的插件.

任何帮助将不胜感激.谢谢.

plugins attributes entity dynamics-crm-2011

2
推荐指数
1
解决办法
6868
查看次数

Dynamics CRM使用C#代码合并两个联系人,来自SDK的修改示例

我一直在尝试使用Dynamics CRM 2011 SDK中的Merge示例. http://msdn.microsoft.com/en-us/library/hh547408.aspx

我修改了一下.我创建了两个Contacts而不是Accounts(尽管代码中的某些变量名称可能会另有说明.例如,_account1Id实际上是contact1的GUID.)

第一个联系人记录包含姓名,姓氏和电话字段.第二个联系人记录填写了姓名,姓氏和电子邮件字段.

合并发生的部分如下.可以从顶部的链接看到原始代码.

当我运行以下修改的示例时,电子邮件地址不会合并到新的联系人记录中.我得到的是一个合并的联系人与其中一个记录的值,添加了地址数据,但没有电子邮件.我认为这应该用第二条记录中的非空字段填充主记录的空字段.

作为Dynamics CRM的新手,我经过大量的谷歌搜索和调试后无法理解原因.如果有人可以就问题可能给我一些反馈,我会很高兴的.

提前致谢.

      _serviceProxy.EnableProxyTypes();
            CreateRequiredRecords(); // created two contacts with same name, surname. first record has telephone1 filled, second record has emailaddress filled.
            EntityReference target = new EntityReference();
            target.Id = _account1Id;
            target.LogicalName = Contact.EntityLogicalName;
            MergeRequest merge = new MergeRequest();
            merge.SubordinateId = _account2Id;
            merge.Target = target;
            merge.PerformParentingChecks = false;
            Contact updateContent = new Contact();
            updateContent.Address1_Line1 = "test";
            merge.UpdateContent = updateContent;
            MergeResponse merged = (MergeResponse)_serviceProxy.Execute(merge);
            Contact mergeeAccount =
                (Contact)_serviceProxy.Retrieve(Contact.EntityLogicalName,
                _account2Id, new ColumnSet(allColumns: true)); …
Run Code Online (Sandbox Code Playgroud)

merge sdk microsoft-dynamics records crm

2
推荐指数
1
解决办法
6711
查看次数

实体框架代码优先字符串与 Oracle Db 的比较

我首先使用代码对 Oracle 数据库进行不区分大小写的字符串比较时遇到问题。代码看起来像这样;

String filter = "Ali";
var employee = dbContext.Employees.Where(x => x.Name.Contains(filter)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

上面的代码区分大小写。所以我将 Name 和 filter 都转换为大写;

String filter = "Ali";
filter = filter.ToUpper();
var employee = dbContext.Employees.Where(x => x.Name.ToUpper().Contains(filter)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

一开始似乎一切正常,但后来我意识到当员工姓名或过滤器包含字符“i”时它不起作用。问题是字母 i 在土耳其语中是如何工作的。

在大多数语言中,“i”代表小写字母,“I”代表字符的大写版本。但是在土耳其语中,“i 的大写字母是 '?”,而“I 的小写字母是 '?”。这是一个问题,因为 Oracle 将数据库中的字母“i”大写为“I”。

我们无法访问数据库的字符编码设置,因为它的影响不容易预见。

我想出的是这个,它非常丑陋。

String filterInvariant = filter.ToUpper(CultureInfo.InvariantCulture);
String filterTurkish = filter.ToUpper(CultureInfo.CreateSpecificCulture("tr-TR"));
var employee = dbContext.Employees.Where(x => x.Name.ToUpper().Contains(filterInvariant) || x.Name.ToUpper().Contains(filterTurkish)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

它似乎解决了一些问题,但感觉像是一种蛮力的解决方法,而不是一个可靠的解决方案。在对 Oracle 数据库使用 Code First C# 时,最佳实践或替代方法是什么?

提前致谢

c# linq oracle string-comparison ef-code-first

2
推荐指数
1
解决办法
1748
查看次数